【发布时间】:2017-09-24 10:26:02
【问题描述】:
我有一个简单的 bash 脚本,它可以接受将被视为文本字符串的参数,仅此而已。
如果我给它~,不带引号,那么主目录/home/users/me 就是被解析的。引用它,"~",没关系。字符“~”是我想要的,而不是主路径。
有什么方法可以确保未引用的~ 被完全视为字符“~”,而不是主目录别名?
【问题讨论】:
-
不,它在你的脚本看到它之前就被shell解释了。
-
波浪号扩展是由您的 shell 执行的,而不是由脚本执行的。您还可以通过在波浪号前加上反斜杠来禁用波浪号扩展。
-
有什么特殊原因需要您这样做吗?你不能引用或转义你的命令行参数吗?
标签: bash scripting command-line-arguments tilde