如何运行我的脚本:
sh Calculator.sh 1 + 2 * s\(4\)
s(x) 是 x 的正弦值
现在我想做这样的事情:
sh Calculator.sh 1 + 2 * s(4)
这给了我错误:(
bash: syntax error near unexpected token
'`
请帮我。
使用引号?
sh Calculator.sh "1 + 2 * S(4)"
您需要引用或转义括号(和*
,以及任何其他 shell 元字符),以便将它们传递给您的脚本。当 shell 看到类似的命令sh Calculator.sh 1 + 2 * s(4)
时,它会运行它解析命令(做一些事情,比如用*
文件名列表替换并被括号弄糊涂),然后它甚至会查看第一个单词来决定正在执行的命令。您看到的错误发生在您的脚本启动之前很久(实际上,它会阻止您的脚本启动),因此您无法在脚本中做任何事情来避免它。
Shell 命令必须遵守 shell 语法。没有办法让您的命令例外(也就是说,除了编辑 shell 程序本身)。