35

是否有任何理由在 shell 脚本中使用变量$HOME而不是简单的(波浪号)?~

4

3 回答 3

40

波浪号扩展在某些情况下不起作用,例如在字符串中间/foo/bar:~/baz

于 2011-05-08T22:06:47.947 回答
15

的可移植性和统一性$HOME。波浪号是一种打字快捷方式。

于 2011-05-08T22:14:54.653 回答
12

""今天我发现波浪号扩展在双引号( )中不起作用。

在 zsh 中(对不起,我没有检查其他 shell 的行为。),

在双引号 ( "") 内,发生参数和命令替换

波浪号扩展是文件名扩展,因此在双引号内失败。
$HOME参数替换,可以在双引号内展开。
$HOME是一个安全的选择。

于 2015-10-10T11:09:16.383 回答