Bash 脚本检查波浪号 '~' 是否是一个参数
Bash script check if tilde '~' is an argument
我有一个简单的 bash 脚本,它可以接受将被视为文本字符串的参数,仅此而已。
如果我给它 ~
,不带引号,那么主目录 /home/users/me
就是被解析的内容。引用一下,"~"
,没问题。 “~”这个字符是我要的,不是home路径
有什么方法可以确保将未加引号的 ~
完全视为字符“~”,而不是主目录别名?
bash shell 正在将参数传递给您的脚本之前在命令行上扩展 ~
。
可能 是一个 bash 选项,您可以在 shell 中更改它,但这会影响 shell 中的所有内容,这听起来不像你想要的。
我认为简短的回答是否定的。在将任何参数传递给脚本之前,您无法在脚本中更改父 shell 扩展任何参数的方式。
我有一个简单的 bash 脚本,它可以接受将被视为文本字符串的参数,仅此而已。
如果我给它 ~
,不带引号,那么主目录 /home/users/me
就是被解析的内容。引用一下,"~"
,没问题。 “~”这个字符是我要的,不是home路径
有什么方法可以确保将未加引号的 ~
完全视为字符“~”,而不是主目录别名?
bash shell 正在将参数传递给您的脚本之前在命令行上扩展 ~
。
可能 是一个 bash 选项,您可以在 shell 中更改它,但这会影响 shell 中的所有内容,这听起来不像你想要的。
我认为简短的回答是否定的。在将任何参数传递给脚本之前,您无法在脚本中更改父 shell 扩展任何参数的方式。