命令行别名与 .bash_profile 别名

命令行别名与 .bash_profile 别名

当我从命令行创建此别名时,一切正常 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立即求值变量。由于变量很可能在此时未设置,因此求值为空字符串。

相关内容