当我从命令行创建此别名时,一切正常 alias jeta='for I in 1 2 3; do /usr/sbin/diskutil unmountDisk disk$I;done'
当在 .bash_profile 中创建相同的别名时,操作系统会删除“$I”
这是一个新手问题,但我很尴尬地说我找不到解决方案。我必须创建一个脚本并让别名引用它吗?
答案1
您所尝试的方法应该有效。$I
在定义您的别名时,可能正在评估。这可能意味着您在某处缺少一些引号。
但是,如果不包括 .bash_profile 的相关部分,就很难说。
答案2
在您的问题中,您用单引号将别名括起来,这是延迟变量求值的正确方法。我猜您在别名中使用了双引号,这样可以.bash_profile
立即求值变量。由于变量很可能在此时未设置,因此求值为空字符串。