É possível chamar cd
de dentro de awk
(usando system()
, não há nenhum comando awk
chamado cd
), mas não faria muito. Em particular, ele não alteraria o diretório de trabalho atual do shell que iniciou awk
. O diretório de trabalho é local para um ambiente, e awk
e qualquer outro processo ou subshell estão sendo executados em seus próprios ambientes, herdados de seus processos pai (e o ambiente do processo pai não pode ser alterado de um processo filho). / p>
Se você quiser apenas ver se o diretório atual é o diretório raiz e cd
to /tmp
, se estiver, você pode fazer isso diretamente no shell:
[ "$PWD" = "/" ] && cd /tmp