在bash脚本中,Linux路径中的斜杠什么时候需要放在引号外?



为什么第一个展开不工作,而第二个却可以?

我知道波浪号必须在引号外展开,但是斜杠也必须在引号外。

#!/bin/bash
ls ~"/Documents/bashscripts/test.sh"
ls ~/"Documents/bashscripts/test.sh"

这是波浪展开的微妙之处。在第二种情况下,斜杠后面的斜线被扩展到当前用户的主目录。在第一种情况下,尝试将带引号的波浪字扩展到名为"/Documents/bashscripts/test.sh"的用户的主目录。从手册页中,波浪展开部分:

…在第一个未加引号的斜杠之前的所有字符都被认为是一个波浪字前缀。如果波浪前缀中的字符都没有引号,那么波浪后面的波浪前缀中的字符将被视为可能的登录名。…

相关内容

  • 没有找到相关文章

最新更新