history
é o que é conhecido como interno. É essencialmente uma função bash que opera dentro de sua sessão (como o resto do registro que alimenta ~/.bash_history
também).
Quando você executa sudo something
, isso está acontecendo na sua sessão, não na raiz. Além disso, quando algo é executado com o sudo, ele não gera uma sessão bash separada e, em seguida, executa o comando. É apenas executado com os privilégios corretos (estou simplificando um pouco a verdade).
Isso suavemente reduz o ponto de casca diferente de Lekensteyn. É verdade, isso não importa. Nenhuma raiz bash
ou dash
é o shell que está executando o comando. Você pode provar isso executando algo como sudo -u $USER whoami
e, em seguida, observando ~/.bash_history
. Existe apenas um comando. Se isso fosse outro shell, eu esperaria ver sudo -u $USER whoami
seguido por whoami
.
Também sudo su -c 'echo $0'
produz o shell pai ( bash
no meu caso), embora eu não tenha certeza se isso é tão significativo.
De qualquer forma, quando você executa sudo something
, ele entra no seu próprio ~/.bash_history
. Se você quiser ver o comando que você executou com sudo
, execute:
grep -E '^sudo' ~/.bash_history