0

此命令将导致错误

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

有什么区别?如果路径中有空格,我可以做些什么来在双引号中包含“~”。

4

1 回答 1

2

波浪号仅在未加引号时才会扩展。引用(或等效的,在反斜杠之前)禁用扩展并将它们变成文字波浪号。

可以在参数中间开始和结束引号。您可以在不加引号的情况下引用空格。这些都是等价的:

wc -l ~/"file name with spaces.txt"
wc -l ~/'file name with spaces'.txt
wc -l ~/file\ name\ with\ spaces.txt
于 2021-04-16T00:59:04.610 回答