楼主:
HuangJC (吹笛牧童)
2015-06-27 11:21:51如题,命令列下切换常用子目录
从前 dos 时代是有人出过这种小工具的,所以有这需求似乎不用交代
我的状况是公司的专案,放置的子目录深度很深
目前的做法: 打开绘图接口的 finder,慢慢找到内部子目录,然后按鼠标右键开命令列
但我自己习惯的做法是用专案名打个批次档
比如 iLife 专案:
touch iLife //建档
open -a TextEdit iLife //文字编辑档案
cd /project/iLife //只打一行,切换子目录;存盘退出
chmod a+x iLife //改变为可执行属性
iLife //执行,神奇的是不会切换子目录
. iLife //用另一种方式执行,可以了!!
以上,想请教的是用 . 去执行就可以,怎么会这样?
另外这似乎是比较偏命令列的讨论,如果跑错板尚请告知,谢谢
作者:
sonyu (:P)
2015-06-27 11:53:00直接执行是再开一个 shell, 里面做 cd, 不影响原本的. = source, 形同在目前 shell 里 cd命令打在目前的 shell 跟开出来的 subshell 的差别目的是影响 shell 环境时 (cd, env, function, alias)在 subshell 执行,执行完就结束,原本的 shell 不受影响因此影响目前 shell => source最终目的是开非 shell 的程式(eg gvim) 还是会直接执行可以让该程式需要的环境不会污染原本 shell如果只是要切换目前 shell 的目录,用 alias 应该就可以了