A substituição do processo Bash não funciona como 'root' no OS X

A substituição do processo Bash não funciona como 'root' no OS X

OS X 10.6.8, se eu usar Bash Process Substitution como 'root', simplesmente não funciona.

  • É suposto ser assim?
  • Por que?

Nota: aqui está o que quero dizer... "<(lista)"

mysql -D robottinosino < <(echo 'select robot from tino_sino;') 

/* um exemplo inventado, admito, já que você poderia trocar o echo e o mysql usando um simples pipe... Eu não consegui pensar em um melhor de cara */

EDITAR:

  • Estou logando como root assim:

    "sudo su -"

(aliás, existe uma maneira melhor se eu quiserficarlogado?)

  • Eu sounãono Bash, então minha pergunta é realmente estúpida e o comentário abaixo detectou o problema instantaneamente! :(

echo $0 produz "-sh" :(

Acho que esta questão poderia ser excluída neste ponto ou metamorfoseada em:

"como fazer login corretamente como 'root' usando o bash?" (talvez editando /private/etc/passwd? isso parece não funcionar. ou... sudo bash -l?)

Responder1

Se você quiser alterar o shell, executechsh -s /bin/bash

Se você quiser executar o shell uma vez enquanto estiver logado como root, basta executar bashou/bin/bash

chshdepois de mudar a casca das raízes:

# 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:

Responder2

Se você não estiver usando o bash, não poderá usar esse recurso do bash.

Você pode começar a usar sudo basho root, ou sudo bash -lo root com um shell de login, para ler a configuração do bash.

informação relacionada