0

如何运行我的脚本: sh Calculator.sh 1 + 2 * s\(4\)

s(x) 是 x 的正弦值

现在我想做这样的事情: sh Calculator.sh 1 + 2 * s(4)

这给了我错误:( bash: syntax error near unexpected token'`

请帮我。

4

2 回答 2

3

使用引号?

sh Calculator.sh "1 + 2 * S(4)" 
于 2013-10-21T01:21:58.787 回答
1

您需要引用或转义括号(和*,以及任何其他 shell 元字符),以便将它们传递给您的脚本。当 shell 看到类似的命令sh Calculator.sh 1 + 2 * s(4)时,它会运行它解析命令(做一些事情,比如用*文件名列表替换并被括号弄糊涂),然后它甚至会查看第一个单词来决定正在执行的命令。您看到的错误发生在您的脚本启动之前很久(实际上,它会阻止您的脚本启动),因此您无法在脚本中做任何事情来避免它。

Shell 命令必须遵守 shell 语法。没有办法让您的命令例外(也就是说,除了编辑 shell 程序本身)。

于 2013-10-21T02:51:03.290 回答