我正在尝试source
Firefox addon sdk .为此,我必须 cd
进入 sdk 的目录,然后运行 source bin/activate
。如果我不 cd
进入该目录,而是直接从我当前所在的任何路径获取源代码,则会发生以下情况:
$ source ~/src/devtools/addon-sdk/bin/activate Welcome to the Add-on SDK. Run 'cfx docs' for assistance. $ cfx -bash: cfx: command not found
我想要一个别名,cd 进入 sdk,获取它,然后返回到我的当前目录:
alias acfx='cd ~/src/devtools/addon-sdk && source bin/activate && cd "$(dirname "$0")"'
这正确地获取了 sdk,但是没有返回到我调用别名的目录:
$ acfx Welcome to the Add-on SDK. Run 'cfx docs' for assistance. dirname: illegal option -- b usage: dirname path
我在这里迷路了,如何回到原来的目录?或者为 source
指定一个“工作目录”?
最佳答案
您可以像这样在子 shell 中执行 cd 和后续命令:
(cd ~/src/devtools/addon-sdk && source bin/activate)
如果出于某种原因你不想创建子 shell,那么使用 cd -
将目录更改为之前的目录:
cd ~/src/devtools/addon-sdk && source bin/activate && cd -
关于bash - 从另一个目录获取 bash 文件并返回当前目录的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15877485/