我在这篇文章中看到了以下替换:
${PWD/#$HOME/~}
Run Code Online (Sandbox Code Playgroud)
与这个相比如何?
${PWD/$HOME/~}
Run Code Online (Sandbox Code Playgroud)
两者似乎是一样的。我不知道为什么包含哈希值。
man bash, 解释${parameter/pattern/string}:
如果模式以# 开头,则它必须匹配参数扩展值的开头。如果模式以 % 开头,则它必须匹配参数扩展值的末尾。
> var=abcd
> echo "${var/bc/_}"
a_d
> echo "${var/#bc/_}"
abcd
Run Code Online (Sandbox Code Playgroud)