2
関連する.shファイルをbashに関連付けました。だから私は正常にWindowsのコマンドプロンプト内からbashスクリプトを実行することができます。cygwinのbashスクリプトは引数を受け取りません
問題は、コマンドライン引数をWinodwsコマンドラインからbashスクリプトに渡すことができないことです。
私が最初にbashに行ってスクリプトを実行すると、コマンドライン引数が正常に処理されます。だから、
myscr.shが続い
c:\> myscr.sh a1 a2
Args ,
が、bashのからの場合:
$ ./myscr.sh a1 a2
Args a1, a2
任意の提案ですか?
ペーストした出力が矛盾しているように見えますが、bashは "Args a1、a1"を出力し、 "Args a1、a2"を出力しません。 '$#'のエコーを加えて値をチェックするのはなぜですか?また、Windows上で 'bash myscr.sh a1 a2'を試してみると、あなたが得たものを確認することができます –
スクリプトの先頭に#!...行がありますか?はいの場合は、私たちに見せてもらえますか?なぜなら、実際にあなたのスクリプトを実行しているbashは、bashから呼び出すときでもないからです。 (たとえば、1行目が#!/ usr/bin/pythonの場合、./myscr.shを呼び出すと/ usr/bin/python myscr.shが呼び出されます)(Unixサーバのサンプルですが、Windowsと同じ考え方) – huelbois
訂正してくれてありがとう。 bash myscr.shも動作せず、$#の出力は '0'です。シバンも含まれていますが、簡潔に省略されました。 – Ayman