命令列別名與 .bash_profile 別名

命令列別名與 .bash_profile 別名

當我從命令列建立此別名時,一切正常 aliasjecta='for I 在 1 2 3;執行 /usr/sbin/diskutil unmountDisk disk$I;done'

當在 .bash_profile 中建立相同的別名時。作業系統刪除“$I”

這是一個新手問題,但我很不好意思地說我找不到解決方案。我是否必須創建一個腳本並讓別名引用它?

答案1

你正在嘗試的應該有效。$I當您定義別名時,可能正在評估。這可能意味著您在某處遺漏了一些引號。

但是,如果不包含 .bash_profile 的相關部分,就很難說。

答案2

在您的問題中,您用單引號引起來別名,這是延遲變數評估的正確方法。我的猜測是您在中使用雙引號,.bash_profile這允許立即評估變數。由於此時該變數可能未設置,因此其計算結果為空字串。

相關內容