Вызов cd
из awk
возможен (с использованием system()
, нет awk
команды, которая вызывается cd
), но мало что даст. В частности, это не изменит текущий рабочий каталог оболочки, которая запустила awk
. Рабочий каталог является локальным для среды, и awk
и любой другой процесс или подоболочка работают в своей собственной среде, унаследованной от их родительских процессов (, и среда родительского процесса не может быть изменена из дочернего процесса ).
Если вы просто хотите узнать, является ли текущий каталог корневым каталогом, и cd
–/tmp
, если это так, вы можете сделать это непосредственно в оболочке:
[ "$PWD" = "/" ] && cd /tmp