機能のbashの呼び出しで引用符で問題:私はこのような程度のラウンドに見える小さなbashスクリプトを書いた
私は何をしたいのかVAR1="test"
VAR2="test2"
letsDoSomeStuff() {
echo $1
echo $2
echo $3`
}
fswatch -0 . | xargs -0 -n 1 -I {} bash -c 'letsDoSomeStuff {} "$VAR1 $VAR2"'
、フォルダ内の変化を見ることであるが(経由swatch)を実行し、bashスクリプトの関数で変更されたファイルを使って作業をします。残念ながら、$ VAR1と$ VAR2を引数として渡す必要があります。なぜなら、xargs呼び出しに「生き残る」ことができないからです。
bashスクリプトは正常に動作します。ただし、$ VAR1と$ VAR2は関数に正しく渡されません。スクリプトを起動すると、変更されたファイルごとに出力されます:
filename
empty line
empty line
ここで誰かがこの呼び出しで私を助けることができますか?私は一重引用符と二重引用符を混乱させていると思いますが、正しい方法を見つけることはできません。事前に
おかげ
ノルベルト
は1つのトークンにそれらを回すので、 letsDoSomeStuffへの単一の引数とみなされます。 –