Not*_*t22 17 bash escaping dollar-sign
如果我有一个包含未转义美元符号的变量,有什么办法可以回显变量的全部内容吗?
例如,某些东西调用脚本:
./script.sh "test1$test2"
然后,如果我想使用参数,它会被"截断",如下所示:
echo ${1}
test1
当然,引用可变名称并没有帮助.我无法弄清楚如何引用它,这样一旦脚本收到参数,我至少可以自己逃避美元符号.
小智 30
问题是脚本首先接收"test1",并且它不可能知道存在对空(未声明)变量的引用.你必须$先将它传递给脚本,如下所示:
./script.sh "test1\$test2"
Run Code Online (Sandbox Code Playgroud)
或者使用这样的单引号':
./script.sh 'test1$test2'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,bash不会扩展该参数字符串中的变量.
在运行脚本之前替换该变量.
./script.sh 'test1$test2'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34395 次 |
| 最近记录: |