いくつかのパラメーターを使用して exe を呼び出すバッチ スクリプトがあります。
現在、次のようにパラメーターをexeに渡していました。
$>my_cmd.exe %*
my_cmd.exe プログラムのオプションの 1 つは、スペースを含むことができる引数を取ります
$>my_cmd.bat --req "in: lava" (OK my prog receives in: lava)
$>my_cmd.bat --req 'in: lava' (NOK my program receives 'in: lava')
ユーザーは一重引用符または二重引用符を区別せずに使用します。
二重引用符はバッチ スクリプト レベルで使用されるため、二重引用符で動作しますが、' (一重引用符) を使用すると、そのまま残り、私のプログラムに渡されます。
my_cmd はマルチプラットフォームであり、UNIX では一重引用符と二重引用符の両方が特殊文字です。
プラットフォームに応じて my_cmd プログラムで特定のことをする必要がないようにしたいと思います。
シェル スクリプトとバッチ スクリプトで同じ動作をさせる方法はありますか。たとえば、バッチ スクリプトは、存在する場合、一重引用符を食べることができますか?
あなたにとって最善の解決策を教えてください。
どうもありがとう