与为目录设置 shell 变量(当然还有导出)相比,为目录设置别名(在我的 .profile 中)有哪些优点。
alias MY_DIR=/usr/local/data/test/
对比
MY_DIR=/usr/local/data/test/
export MY_DIR
答案1
别名仅适用于命令。也就是说,shell 将检查 argv[0] 中的别名,它将检查 argv 的每个部分中是否有带符号的变量(例如 $MY_DIR)。直观演示:
g3 0 /home/jj33 > alias FOO=bar
g3 0 /home/jj33 > FOO
-ksh: bar: not found
g3 127 /home/jj33 > echo FOO
FOO
g3 0 /home/jj33 > BAZ=bar
g3 0 /home/jj33 > $BAZ
-ksh: bar: not found
g3 127 /home/jj33 > echo $BAZ
bar