我有一个返回系统路径的简短 shell 程序。我想要做的是使用 bash 别名 CD 到该路径。
我的理想输出是
~$ pwd
/home/username
~$ mark home
~$ cd /
/$ pwd
/
/$ place home
~$ pwd
/home/username
我有“标记”部分工作,但“地方”不是:
alias place="cd \"~/marker.sh go $@\";"
我的想法是我想 cd 到输出~/marker.sh go $@
问题是 bash 将其解释为一个命令,并给出错误:
-bash: cd: ~/marker.sh go : No such file or directory
-bash: home: command not found
我假设这意味着 shell 将整个别名解析为字符串。
我为别名 $()、`` 等的 shell 脚本部分尝试了各种形式的引用,但它们要么尝试在 bash 启动时运行脚本,要么根本不执行,只保留一个字符串。
我编写这个主要是为了学习 bash 命令,但我无法弄清楚这一部分!
我在 iTerm 1.0.0.20130624 中运行 OSX 10.9,如果这很重要的话。
编辑:我知道脚本中的 cd-ing 不起作用,这就是为什么我试图使用我的程序返回正确的路径并使用内置的别名系统来进行目录的实际更改。