Chapter 17

/bin/sh vs CMD.exe 記号対照表

zetamatta
zetamatta
2021.05.15に更新
/bin/sh CMD.exe 備考
A && B A && B (同じ)コマンドAが成功した時のみ、コマンドBを実行
A || B A || B (同じ)コマンドAが失敗した時のみ、コマンドBを実行
A ; B A & B コマンドAが終了したら、成否に関わらずBを実行
A & start A A を非同期に実行する※
$? %ERRORLEVEL% 直前のコマンドのエラー値(0が成功)
2>ファイル名 2>ファイル名 (同じ)標準エラー出力のリダイレクト
2>&1 2>&1 (同じ)標準エラー出力を標準出力と同じ先にする
>/dev/null >NUL 標準出力を捨てる
\ ^ 続く機能文字の機能を無効化する
~ %USERPROFILE% ユーザのホームディレクトリ

※ startコマンドは第一引数が二重引用符で囲まれているとそれをウインドウのタイトルと解釈するので、コマンド名に空白が含まれている場合などはダミーでもよいので、 start "タイトル" "コマンド名" とタイトルを明示的に指定してやる必要がある

コマンド A が成功したら B 、失敗したら C を実行する

if A
then
   B
else
   C
fi
A
if errorlevel 1 (
    C
) else (
    B
)