次の質問は、私の問題のバリエーションです:どのように文字列パラメータを含むbashスクリプトに与えられたすべてのコマンドライン引数をそのまま子プロセスに渡すのですか?
Bash: Reading quoted/escaped arguments correctly from a string
私は、次の種類のbashスクリプトを( 'something.sh' と言う)書きたい...
#!/bin/bash
python $*
...すべてのコマンドライン引数を、子プロセスに直接渡したときに渡します。上記の$ *をベースにしたコマンドは、
./something.sh --version
...のように動作します。しかし、それはカット...で...
python -c import
(私の例では)もたらされる...
./something.sh -c "import os; print(os.name)"
...この場合、インスタンスのような文字列を引数に無残に失敗しました最初のスペースの文字列引数(自然にPython構文エラーを生成します)。
私は、bashスクリプトによって呼び出される任意のプログラムの複数の引数と文字列引数を扱うことができる汎用ソリューションを探しています。
が正常に動作しますか? –
[shellcheck](http://shellcheck.net)を試してみてください。それは自動的にこの問題を指摘します。 –