我想在perl脚本中运行这个jboss cli shell命令。它将正常工作如果我在shell终端中运行此命令,但它不会在perl脚本内部。
在Shell中:
/subsystem=logging/periodic-rotating-file-handler=SAMPLE:write-attribute(name=formatter,value="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n")
在Perl中:
system("/subsystem=logging/periodic-rotating-file-handler=SAMPLE:write-attribute(name=formatter,value=\"%d{HH:MM:ss,SSS} %-5p [%c] (%t) %s%E%n\")");
错误似乎是下面文字中的特殊字符。
输入:"%d{HH:MM:ss,SSS} %-5p [%c] (%t) %s%E%n"
输出:%d%-5p(%t)%s%E%n
输入:"%d(HH:MM:ss,SSS) %-5p %c (%t) %s%E%n"
输出:"%d(HH:MM:ss,SSS)%-5p%c(%t)%s%E%n
我尝试了很多方法,但我仍然面临这个问题。
为什么{}
和[]
无法在perl中打印。
你能帮我解决一下吗?
答案 0 :(得分:1)
我想在perl脚本中运行这个jboss cli shell命令。
然后你需要执行一个jboss cli shell!将jboss命令(或Perl代码或JavaScript代码或......)传递给system
是行不通的。
快速谷歌搜索似乎表明它的名称为jboss-cli.sh
,并且它接受标准的-c COMMAND
参数,所以
my $cmd = '/subsystem=logging/...';
system('jboss-cli.sh', '-c', $cmd);