Bash 脚本检查波浪号 '~' 是否是一个参数

Bash script check if tilde '~' is an argument

我有一个简单的 bash 脚本,它可以接受将被视为文本字符串的参数,仅此而已。

如果我给它 ~,不带引号,那么主目录 /home/users/me 就是被解析的内容。引用一下,"~",没问题。 “~”这个字符是我要的,不是home路径

有什么方法可以确保将未加引号的 ~ 完全视为字符“~”,而不是主目录别名?

bash shell 正在将参数传递给您的脚本之前在命令行上扩展 ~

可能 是一个 bash 选项,您可以在 shell 中更改它,但这会影响 shell 中的所有内容,这听起来不像你想要的。

我认为简短的回答是否定的。在将任何参数传递给脚本之前,您无法在脚本中更改父 shell 扩展任何参数的方式。