为什么要在 shell 脚本中使用 ~ (波浪号) 上的$HOME



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

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

$HOME的可移植性和统一性。波浪号是一个键入快捷方式。

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新