作者:
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 應該就可以了