Tente executar um comando shell via sudo
em vez de passar um diretamente. Por exemplo, faça algo como:
sudo bash -c "cd /root; ls -al"
Naturalmente, este é um exemplo bobo, já que é possível executar sudo ls -al /root
, mas esperamos que o ponto seja atingido.
Executar um comando shell é muito mais explícito do que passar um para sudo
usando o -i
flag, pois ele executará o shell atribuído ao usuário root
em um determinado sistema. Além disso, quaisquer possíveis problemas com os arquivos de recurso de login do usuário root
são evitados.
Bash (ou seu shell preferido) deve analisar o caractere =
corretamente. Eu fui em frente e testei isso no meu fim para a integridade e não encontrei nenhum problema. Se não, no entanto, apenas escape do =
, prefazendo-o com um caractere \
.