我的 .bashrc 文件夹中有一个很好的小 bash 别名,它允许我启动 Tomcat 而不必先进入该文件夹,例如
alias startTomcat="cd ~/apache-tomcat-7.0.34/bin/ && ./startup.sh"
但是,当我startTomcat
在终端中运行时,我会退出启动时的文件夹,现在我的终端位于~/apache-tomcat-7.0.34/bin/
。当然,这是预期的行为,但我想要做的是运行命令而不进入其他文件夹。
我也可以保存原始位置,然后返回该位置在我的 .bashrc 文件中,或者运行 startup.sh,无需cd
退出原始文件夹?
谢谢!!
答案1
您可以在所在的文件夹中使用startup.sh
不带to的绝对路径::cd
alias startTomcat="~/apache-tomcat-7.0.34/bin/startup.sh"
或者,您可以使用cd -
它将您返回到上次所在的目录:
alias startTomcat="cd ~/apache-tomcat-7.0.34/bin/ && ./startup.sh && cd -"
答案2
Radu 的答案很好,但根据用例,您可能需要使用pushd
and popd
,它可以让您保存和恢复目录。类似于:
alias startTomcat="pushd ~/apache-tomcat-7.0.34/bin; ./startup.sh; popd"