Я хочу запустить эту команду оболочки jboss cli в perl-скрипте. он будет работать корректно. Если я запустил эту команду в терминале оболочки, но она не будет внутри внутреннего скрипта perl.Как добавить специальный символ в 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. Не могли бы вы дать мне идею решить эту проблему?
Может я не рекомендую использовать систему() функцию? Есть намного лучшие и безопасные варианты, чтобы сделать внешний вызов другому приложению. – falconspy
@falconspy. Вы можете, но я не знаю, почему вы это сделаете. Я также не знаю, почему вы думаете, что есть что-то более безопасное. – ikegami