私は、bashシェルの大きな引数リストを持つperlスクリプトからperlスクリプトを呼び出したいと思っています。引数には、\
、*
、(
、)
などの特殊文字が含まれています。これらの特殊文字はそれぞれ単一のエスケープ文字\
によって案内されます。perlスクリプトからperlスクリプトを呼び出す
しかし、第1のperlスクリプトから2番目のperlスクリプト(シェルスクリプトを呼び出します)を呼び出すと、エスケープ文字が評価され、特殊文字がシェルで公開され、構文エラーが発生します。
基本的に私は第1のperlスクリプトから2番目のperlスクリプトを呼び出すときにエスケープ文字の評価をしないようにしたいのですが、2番目のperlスクリプトからシェルスクリプトを呼び出すときに評価する必要があります。
例:あなたがそれらを複数の要素を持つリストを渡すと
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スクリプトに与えられた引数に別のエスケープ文字を追加しないでください。 – Yogesh
バグのあるコードを修正してください。 – ikegami