0

我写了一个名为 shared 的简短别名,如屏幕截图所示。假设别名会将我带到 Permanent_mount/data/department 目录,根据运行别名的用户,部门可以是财务、人力资源或操作。别名在 CLI 中运行良好,但如果在 aliases.sh 文件上设置别名并从那里运行它,它会将我带到 /permanent/data 目录。为什么?

在此处输入图像描述

4

1 回答 1

0

因为您的别名定义是用双引号分隔的,所以里面的变量会在定义时展开。因此,无论b您在执行操作时发生什么,都alias shared=...将内置到cd别名末尾的命令中。您需要使用单引号来防止变量扩展,或者\$b作为替代使用,以防止变量扩展。

于 2013-11-07T20:34:57.947 回答