Замена процесса Bash не работает от имени пользователя root на OS X

Замена процесса Bash не работает от имени пользователя root на OS X

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 bashroot-доступ или sudo bash -lвойти в систему с помощью оболочки входа, чтобы прочитать конфигурацию bash.

Связанный контент