![Замена процесса Bash не работает от имени пользователя root на OS X](https://rvso.com/image/23952/%D0%97%D0%B0%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%20Bash%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82%20%D0%BE%D1%82%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20root%20%D0%BD%D0%B0%20OS%20X.png)
OS X 10.6.8, если я использую Bash Process Substitution от имени «root», это просто не работает.
- Так ли это должно быть?
- Почему?
Примечание: вот что я имею в виду... "<(список)"
mysql -D robottinosino < <(echo 'select robot from tino_sino;')
/* надуманный пример, конечно, поскольку вы можете поменять местами echo и mysql, используя простой конвейер... Я не смог придумать ничего лучшего навскидку */
РЕДАКТИРОВАТЬ:
Я вхожу в систему как root следующим образом:
"судо су -"
(кстати, есть ли лучший способ, если я хочуоставатьсявошел?)
- Янетна Bash, поэтому мой вопрос действительно глупый, а комментарий ниже мгновенно выявил проблему! :(
echo $0 выдает "-sh" :(
Думаю, этот вопрос можно просто удалить на данном этапе или переформулировать в:
«как мне правильно войти в систему как 'root' с помощью bash?» (возможно, отредактировав /private/etc/passwd? это, похоже, не работает. или... sudo bash -l?)
решение1
Если вы хотите сменить оболочку, запуститеchsh -s /bin/bash
Если вы хотите запустить оболочку один раз, войдя в систему как root, просто запустите bash
или/bin/bash
chsh
после изменения оболочки корней:
# Changing user information for root.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Login: root
Uid [#]: 0
Gid [# or name]: 0
Generated uid: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000
Home directory: /var/root
Shell: /bin/bash
Full Name: System Administrator
Office Location:
Office Phone:
Home Phone:
решение2
Если вы не используете bash, вы не сможете использовать эту функцию bash.
Вместо этого вы можете начать использовать sudo bash
root-доступ или sudo bash -l
войти в систему с помощью оболочки входа, чтобы прочитать конфигурацию bash.