Dado um ambiente hostil, como:
for word in builtin command type unfunction declare set unset alias; do
eval "$word(){ echo $word function; }; alias $word='echo $word alias'"
done
É possível acessar um comando embutido? Por exemplo, é possível fazer algo como:
\command \builtin \type echo
e ainda veja:
echo is a shell builtin
É possível que um ambiente hostil (ou bloqueado) seja capaz de redefinir completamente as coisas de forma que um builtin, função ou nome de caminho subjacente nunca possa ser acessado?
Com Bash, se você habilitar o modo POSIX :
Como
set
eunset
são internos especiais, você pode acessá-los através do modo POSIX e, em seguida, usá-los para se livrar das funções e, em seguida, usar\unalias
para se livrar dos aliases:Mas não consigo pensar em um caminho de volta, digamos:
(Sem tentar iniciar um novo shell, que talvez não seja permitido em um shell restrito.)