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

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

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

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

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

Спасибо !!

4
задан 3 September 2013 в 18:41

2 ответа

Вы можете использовать абсолютный путь для startup.sh без указания cd в папке, где находится ::

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

Или вы можете использовать cd -, который вернет вас в каталог где вы были в последний раз:

alias startTomcat="cd ~/apache-tomcat-7.0.34/bin/ && ./startup.sh && cd -"
0
ответ дан 3 September 2013 в 18:41

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

0
ответ дан 3 September 2013 в 18:41

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

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