Алиасы Bash - как я могу запустить файл в другой папке, не потеряв мое текущее местоположение?

У меня есть небольшой псевдоним bash в моей папке .bashrc, которая позволяет мне запускать Tomcat, не запуская cd в папку сначала, например

alias startTomcat="cd ~/apache-tomcat-7.0.34/bin/ && ./startup.sh"

Однако, когда я запускаю startTomcat в терминал, я загружен из папки, в которой я начал, и теперь мой терминал находится в ~/apache-tomcat-7.0.34/bin/. Конечно, это ожидаемое поведение, но то, что я хотел бы сделать, - это запустить команду, не сворачиваясь в другую папку.

Можно ли сохранить исходное местоположение, затем вернуться к нему в моем .bashrc-файле или, альтернативно, запустить startup.sh без cd из исходной папки?

Спасибо !!

1
задан 3 September 2013 в 19:41

1 ответ

Ответ Раду хороший, но в зависимости от используемого варианта вы можете использовать pushd и popd, что позволяет сохранять и восстанавливать каталоги. Что-то вроде: alias startTomcat="pushd ~/apache-tomcat-7.0.34/bin; ./startup.sh; popd"

2
ответ дан 24 May 2018 в 18:22

Другие вопросы по тегам:

Похожие вопросы: