私はスクリプトのパラメータとしてシェルに既存のウェブサイトのHTMLを渡そうとしていますが、私はそれを正しくエスケープする方法がわかりません。HTMLをシェルに渡すには?
'$'や '!'などの文字があるため、一重引用符または二重引用符で囲んでも機能しません。シェルは文字通り解釈します。
私はスクリプトのパラメータとしてシェルに既存のウェブサイトのHTMLを渡そうとしていますが、私はそれを正しくエスケープする方法がわかりません。HTMLをシェルに渡すには?
'$'や '!'などの文字があるため、一重引用符または二重引用符で囲んでも機能しません。シェルは文字通り解釈します。
この場合、ファイルをシェルスクリプトにパイプするのがベストプラクティスです。
簡単なバージョン:コンテンツを一時ファイルに書き出し、ファイル名でシェルスクリプトを起動します。シェルスクリプトは入力を読み込み、その後にファイルを削除します。
入力をファイルにパイプすると、一時ファイルは必要ありません。
また、シェルスクリプト内で 'trap'コマンドを使用して、一時ファイルを削除してください。 'tmpfile =/tmp/foo。$$;トラップ "rm -f $ tmpfile" 0 1 2 5 15'は私の好きな行の一つです。 – Graham
手渡しでも、スクリプトで渡していますか?そして、どんな命令に? – Cameron
なぜこの正規表現は正規表現ですか? – PeeHaa
NodeJSのchild_process.execを使用してシェルに渡します。手でも試してみましたが、私は次のようなエラーが出ます。構文エラー:予期しないリダイレクト。 – user216171