私は何かをチェックする小さなスクリプトを書いています。テストが成功したらスクリプト内からコマンドを実行したいです。そして私はコマンドをハードコードしたくないが、それをコールバックスクリプトのような引数として与える。bashの空白を含むコールバックスクリプト
私がテストするコマンドは/usr/bin/xmessage -buttons "button a","button b" some text to test
です。ターミナルスタンドアロンで実行すると、最後のテキストに引用符は不要です。
スクリプトは次のようになります。
#!/bin/bash
echo "$1"
$1
しかし/path/to/script.bash '/usr/bin/xmessage -buttons "button a","button b" some text to test'
を実行するときにエコーが右に見えるけれども、それは、thisのように見えます。
$1
の代わりに"$1"
を使用すると、ファイルが見つかりませんでした。スペースを使って行動を修正する方法は誰でも知っていますか?
ようなものになるだろうコマンドは、スクリプトの第2引数である場合、これは使用することはできますか? – Corubba
はい。すべての引数は '$ @'と '$ {1 +" $ @ "}'に格納されているので、スクリプトでそれらを使用するのに最適です。 –
私は 'script.sh otherarg1 otherarg2 callback'のようなものを意味しました – Corubba