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