web-dev-qa-db-ja.com

Bashを起動してコマンドを実行するWindowsショートカットを作成するにはどうすればよいですか?

次のようなターゲットを持つWindowsショートカットを作成しました

"C:\Windows\System32\bash.exe" php /c/script.php

(私はこれを実行するためにphp cliのwindows verisonを使用することができますが、好奇心からです)

ショートカットをクリックすると、コマンドウィンドウが開いて閉じます(スクリプトの実行に数分かかるはずです)。

Windowsのbash.exeにコマンドをパイプする方法はありますか?

4
Keith

これがWSLの場合は、bash.exe -c "実行するコマンド"を使用します。

C:\ Windows\System32\bash.exe -c "vi〜/ .bashrc"

または

C:\ Windows\System32\bash.exe -c "p​​hp /mnt/c/script.php"

5
Señor CMasMas

まず、 bash.exeは廃止予定 です。コマンドラインではwsl.exeを使用する必要があります。 WSLの相互運用性機能には、Windows Insidersビルド17063以降を使用してください。あなたのケースでは、これは両方ともうまくいくかもしれません:

wsl.exe php /mnt/c/MyFiles/test.php
wsl.exe --exec php /mnt/c/MyFiles/test.php

wsl.exeの使用情報は次のとおりです。

使用法:wsl.exe [引数] [オプション...] [コマンドライン]

Linuxバイナリを実行するための引数:

If no command line is provided, wsl.exe launches the default Shell.

--exec, -e <CommandLine>
    Execute the specified command without using the default Linux Shell.

--
    Pass the remaining command line as is.

詳細については、 WSLとWindowsの相互運用性 を参照してください。

3
Biswapriyo