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

3

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

  • Deveria ser assim?
  • Por quê?

Nota: eis o que quero dizer ... "< (list)"

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

/ * um exemplo artificial, reconhecidamente, como você poderia trocar o eco e o mysql usando um simples tubo ... Eu não conseguia pensar em um melhor fora do topo da minha cabeça * /

EDITAR:

  • Estou fazendo o login como root assim:

    "sudo su -"

(aliás, existe uma maneira melhor se eu quiser ficar logado?)

  • Eu não sou no Bash, então minha pergunta é realmente estúpida e o comentário abaixo pegou o problema instantaneamente! : (

echo $ 0 produz "-sh": (

Eu acho que esta questão poderia ser excluída neste momento ou metamorfoseada em:

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

    
por Robottinosino 13.07.2012 / 18:38

2 respostas

4

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

Se você quiser executar o shell uma vez enquanto estiver logado como root, apenas execute bash ou /bin/bash

chsh após alterar o shell de 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:
    
por 13.07.2012 / 18:51
3

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

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

    
por 13.07.2012 / 18:45