Я использую программу командной строки, документация которой гласит:
«Вы можете запустить XXX на входе, расположенном в другом каталоге, но его вывод всегда будет помещен в текущий рабочий каталог». Я хотел бы, чтобы выходные данные были записаны в другой каталог.
Я мог бы (или с cd
, или pushd
+ popd
)
или
... но обе они кажутся неуклюжими и склонны к ошибкам, если скрипт должен быть отредактирован кем-то, кто не знает об этом требовании. Единственное другое решение, которое я могу придумать, - это объединить команды точкой с запятой. Есть ли другой способ?
Кстати, в bash.
используйте круглые скобки, таким образом, CD происходит в подоболочке:
(cd other_dir && xxx)
, Когда это закончится, Ваш текущий рабочий dir не будет изменяться.
CD может перестать работать, так использование &&
для условного выполнения программы.