假设我有一个名为dd.sh的脚本,我像这样运行它

./dd.sh sample$name.mp4

因此$1是字符串sample$name.mp4
echo '$1' // shows $1

echo "$1" // shows sample.mp4

然后如何处理$1,以便我可以检测到参数$1中是否存在美元符号

我想将字符串处理为sample\$name.mp4或仅检测参数$filename中是否存在美元符号

最佳答案

如您所知,美元符号标记为变量。键入时必须考虑到它。

你可以逃脱美元

./dd.sh "sample\$name.mp4"

或只用单引号输入
./dd.sh 'sample$name.mp4'

要检查变量中是否有美元符号,请执行
[[ $variable == *\$* ]] && echo 'I HAZ A DOLAR!!!' || echo 'MEH'

关于bash - 通过 shell 脚本在字符串中转义美元符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37876778/

10-11 06:42