我想在使用目錄搜索代碼文件時使用別名來爲自己製作一些命令,但我有點緊張,因爲它們以「。」開頭。下面是一些例子:以「。」開頭的UNIX命令的潛在危險?
$ alias .cpps="ls -a *.cpp"
$ alias .hs="ls -a *.h"
我應該擔心遇到什麼困難?有沒有其他人做到這一點?
我想在使用目錄搜索代碼文件時使用別名來爲自己製作一些命令,但我有點緊張,因爲它們以「。」開頭。下面是一些例子:以「。」開頭的UNIX命令的潛在危險?
$ alias .cpps="ls -a *.cpp"
$ alias .hs="ls -a *.h"
我應該擔心遇到什麼困難?有沒有其他人做到這一點?
將點放在名稱中的優點是什麼?這似乎是一個不必要的額外字符。我只是使用基名(hs
和cpps
)作爲別名。
我想可能會認爲該點表示該命令是別名 - 但爲什麼這種區別是有益的? Unix的一大優點是它消除了O/S提供的神聖命令與用戶編寫的程序之間的區別。他們都是平等的 - 只是位於不同的地方。
我沒有看到任何使用以點開頭的別名的實際危險。我從來沒有想過嘗試;我有些驚訝,他們被允許。但考慮到他們被允許,我不能看到真正的風險。
我不會使用'。'開始你的別名,因爲它在'/'的旁邊,你可以錯誤地將它們打到一起,並意外地在當前目錄中運行一個可執行文件(特別是如果你使用tab完成的話)。
我懷疑是否存在任何技術問題,但可能會讓長時間使用Unix的人感到困惑。在我的世界裏,命令中沒有點,文件名沒有空格或大寫字母!
我不知道'。'有什麼問題,但一般來說很多人不鼓勵使用別名,並建議使用合適的shell函數。 (例如.cpps(){ls -a * .cpp}) – 2009-07-28 16:35:34
這實際上更有意義。我很想知道/ usr/bin中的命令與別名和shell函數之間的優先級如何排列。嗯.....感謝您的回答! – daveslab 2009-07-28 17:13:13