点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
在工作链中,我有一个BASH作业,其来源为" ssh $ {USERNAME} @ $ {SERVER} $ {COMMAND}",参数为USERNAME,SERVER和COMMAND。
如果我在作业链编辑器的" In Parameter Mappings"部分中将COMMAND设置为='/usr/bin/find/usr/sap/xxx/log -name'abc * .log'-type f -mtime + 30 -exec rm {} \; &'工作正常。
现在我也想删除名称为def * .log的文件,但要使用命令
='/usr/bin/find/usr/sap/xxx/log(-name'abc * .log'-o -name'def * .log')-type f -mtime +30 -exec rm { } \; &'不起作用。 错误消息"放置不正确()"。 如果我用\\遮住括号,也将不起作用。
如果用\遮住括号,则无法保存作业链。 错误消息
"无法解析脚本:第1行第xx列出现词法错误。遇到:"("(40),在" \'xxx/log \\"之后
如何在命令中使用方括号?
最好的问候
Dana
hi Dana,
您必须至少用单反斜杠转义单引号,并且反斜杠本身也要换行:
='/usr/bin/find/usr/sap/xxx/log(-name \'abc * .log \'-o -name \'def * .log \')-type f -mtime +30 -exec rm {} \\; &'
也许您需要将命令放在双引号之间:ssh $ {USERNAME} @ $ {SERVER}" $ {COMMAND}"
考虑Gerben
一周热门 更多>