如何在双引号路径引用中使用`~`
How to use `~` inside a double quote path reference
此命令会导致错误
wc -l "~/tmp.txt"
wc: '~/tmp.txt': No such file or directory
虽然这些命令运行很好
wc -l ~/tmp.txt
14 /home/user/tmp.txt
wc -l "/home/user/tmp.txt"
14 /home/user/tmp.txt
有什么区别?如果路径中有空白 space,我可以做些什么来仍然在双引号内包含“~”吗?
波浪号只有在未被引用时才会展开。引用(或者,等价的,在反斜杠前加一个反斜杠)禁用扩展并将它们变成文字波浪号。
允许在参数中间开始和结束引号。您可以引用空格而不引用波浪号。这些都是等价的:
wc -l ~/"file name with spaces.txt"
wc -l ~/'file name with spaces'.txt
wc -l ~/file\ name\ with\ spaces.txt
此命令会导致错误
wc -l "~/tmp.txt"
wc: '~/tmp.txt': No such file or directory
虽然这些命令运行很好
wc -l ~/tmp.txt
14 /home/user/tmp.txt
wc -l "/home/user/tmp.txt"
14 /home/user/tmp.txt
有什么区别?如果路径中有空白 space,我可以做些什么来仍然在双引号内包含“~”吗?
波浪号只有在未被引用时才会展开。引用(或者,等价的,在反斜杠前加一个反斜杠)禁用扩展并将它们变成文字波浪号。
允许在参数中间开始和结束引号。您可以引用空格而不引用波浪号。这些都是等价的:
wc -l ~/"file name with spaces.txt"
wc -l ~/'file name with spaces'.txt
wc -l ~/file\ name\ with\ spaces.txt