0
私はシェルスクリプト内のコマンドであるキーワードをエスケープするにはどうすればよいですか?私のシェルスクリプト内
#!/bin/bash
var1=$1
var2=$2
cat<<new_script<<EOF
...some code...
for i in `find/-perm 6000 -type f`; do chmod a-s $i; done
mkdir $var1
...some code...
EOF
を持って、私は多くのことを試してみましたが、私は「検索」コマンドを脱出することはできませんよ。 これをnew_scriptに書き込むのではなく、このシェルスクリプトを実行すると、単にfindコマンドが端末で実行されます。単一引用符で
あなたはそれを動作させるために行う「EOF」を置くんどのような変更を説明することはできますか? –
一重引用符を使用しない場合、振る舞いは変数が補間され、バッククォートのコマンドが評価されます。これは、ラベルの任意の部分を引用することによって無効にすることができ、引用符で囲まれていない値で終了します。 [ソース](https://en.wikipedia.org/wiki/Here_document#Unix_shells)。 – Cyrus
私も変数を使う必要があります。私は編集しました。 –