在bash参数中,如何在圆括号之前关闭必要的反斜杠?

在bash参数中,如何在圆括号之前关闭必要的反斜杠?,bash,arguments,brackets,Bash,Arguments,Brackets,如何运行脚本: sh Calculator.sh 1+2*s\(4\) s(x)是x的窦 现在我想做这样的事情: sh Calculator.sh 1+2*s(4) 这给了我一个错误: bash:意外标记附近出现语法错误('` 请帮助我。使用引号 sh Calculator.sh "1 + 2 * S(4)" 使用引号 sh Calculator.sh "1 + 2 * S(4)" 您需要引用或转义括号(和*,以及任何其他shell元字符),以便将它们传递给脚本。当shell看到类似sh

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

s(x)是x的窦

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

这给了我一个错误:
bash:意外标记附近出现语法错误
('`

请帮助我。

使用引号

sh Calculator.sh "1 + 2 * S(4)" 
使用引号

sh Calculator.sh "1 + 2 * S(4)" 

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


Shell命令必须遵守Shell语法。除了编辑Shell程序本身之外,无法对命令进行例外处理。

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


Shell命令必须遵守Shell语法。除了编辑Shell程序本身之外,您的命令没有任何例外。

我不会说Shell代码,但请尝试通过谷歌搜索“Shell代码引号”或“Shell代码文字引号”或者类似的东西。我很确定你可以用文字来引用整件事,完全避免反斜杠。我不会说Shell代码,但试着用谷歌搜索“Shell代码引号”或“Shell代码文字引号”或类似的东西。我很确定你可以用文字来引用整件事,完全避免反斜杠。