将参数传递给outlook_DataParsing.sh
时出现了一个错误:
$ sh outlook_DataParsing.sh delete node doc('/opt/ws40/contacts.xml')//Directory/Contacts/Contact[@id='22222']
我正在阅读所有论点:
str=$@
错误如下:
-bash: syntax error near unexpected token `('
有谁能够帮我?
shell命令中有许多“特殊”字符,包括$()[]
其中大多数可以简单地通过用双引号括起参数来传递
foo "(hello)[]"
然而,这不会修复$符号,因为它是用于变量的。您可以改为使用单引号传递$符号
foo '$im_not_a_variable'
如果所有其他方法都失败了,任何字符都可以使用反斜杠转义\包括空格(不需要引号)
foo \(hello\)\[\]\ \$im_not_a_variable