use sudo -s mas mostre o nome da pasta atual

1

Existe uma maneira de usar sudo -s , mas mantendo o nome da pasta atual no prompt?

Eu quero ver jw:documents nescalante$ em vez de bash-3.2# ao usar sudo -s .

Obrigado!

    
por lante 18.01.2015 / 14:39

1 resposta

2

Quando você usa sudo -s , obtém um comportamento semelhante a sudo /bin/bash .
A variável USER está definida para root e não mais para nescalante .

Você pode colocar dentro de seu .bashrc ou, pior, no seu .bash_aliases um bloco IF THEN para definir seu prompt quando você for o usuário root.

if [ "$USER" = "root" ]
then
  export PS1="\[\e[36;1m\]\u@\[\e[32;1m\]\h \[\e[34;1m\]\w> \[\e[0m\]"
fi

Se você não quer saber que você é root nesse shell, você pode escrever

  export PS1="\[\e[36;1m\]HowIWantToBe@\[\e[32;1m\]\h \[\e[34;1m\]\w> \[\e[0m\]"

mas sugiro enfaticamente que você note que é o root . root pode deletar um sistema com uma única linha de comando, de tantas maneiras que você não pode nem imagem:).

Nota:

  • Se você usar um shell diferente de bash , será necessário escrever com uma sintaxe diferente em um arquivo diferente de .bashrc .
  • Você pode pesquisar o valor do prompt PS1 atualmente em uso para o usuário no seu arquivo inicial do shell (por exemplo, .bashrc ) e copiá-lo / modificá-lo como desejar.
  • Se você quiser saber melhor como a função de comandos sudo e su se refere a páginas man ou dê uma olhada rápida, por exemplo, aqui .
por 18.01.2015 / 15:23