【发布时间】:2011-12-09 04:18:41
【问题描述】:
我想在 bash shell 中从带有大参数列表的 perl 脚本调用 perl 脚本。参数包含特殊字符,例如 \、*、(、) 等。每个特殊字符都由单个转义字符 \ 引导。
但是当我从第一个 perl 脚本调用第二个 perl 脚本(然后调用一个 shell 脚本)时,转义字符会被评估,特殊字符会暴露在 shell 中,因此会出现语法错误。
所以基本上我想在我从第一个 perl 脚本调用第二个 perl 脚本时防止转义字符的评估,当我从我的第二个 perl 脚本调用 shell 脚本时应该评估它。
例如。第一个 perl 'MonitorAdmin' 脚本的输入是:
MonitorAdmin -reversefilter -container="LogServerContainer" -filepath="/home/esg2/YogeshTemp/VSDEFAULT/logs" -filename="System.log" -pattern=".*\t.*\t(DEBUG)\t.*\t.*\t.*\t(SecurityService)\t.*\t.*\t.*\t.*\t.*" -linecount="5001" -targetfile="
【问题讨论】:
-
我想避免向 MonitorAdmin 脚本的参数添加另一个转义字符。
-
向我们展示您的错误代码,以便我们修复它。