このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】コマンドの実行をアレンジする
複数のコマンドを実行する方法
Linuxシェルでは、複数のコマンドを一度に実行するためにいくつかの方法があります。これらの方法を使用すると、コマンドの実行順序や条件を制御できます。
複数コマンドの実行方法
方法 | 説明 | 使用例 |
---|---|---|
コマンド1; コマンド2 | 両方のコマンドを順次実行します。1つ目のコマンドが成功するかどうかに関係なく、2つ目のコマンドが実行されます。 | echo Hello; echo World |
コマンド1 && コマンド2 | 1つ目のコマンドが成功(終了ステータスが0)した場合のみ、2つ目のコマンドが実行されます。 | echo Hello && echo World |
コマンド1 || コマンド2 | 1つ目のコマンドが失敗(終了ステータスが0以外)した場合のみ、2つ目のコマンドが実行されます。 | echo Hello || echo World |
コマンドの使用例と解説
1.cd /etc; pwd
・「cd /etc; pwd
」コマンドを実行します。
cd /etc
コマンドでディレクトリを /etc
に変更し、次に pwd
コマンドで現在のディレクトリを表示します。セミコロン (;
) を使用することで、1つ目のコマンドが成功するかどうかに関係なく、2つ目のコマンドが実行されます。結果として、/etc
が表示されます。
user01@ubuntu-vm:~$ cd /etc; pwd
/etc
・「cd
」コマンドを実行して、ホームディレクトリに移動します。
user01@ubuntu-vm:/etc$ cd
user01@ubuntu-vm:~$
2.cd /etc && pwd
・「cd /etc && pwd
」コマンドを実行します。
cd /etc
コマンドが成功した場合のみ pwd
コマンドが実行されます。アンド (&&
) を使用することで、1つ目のコマンドが成功したときのみ2つ目のコマンドが実行されます。cd /etc
が成功した場合、結果として /etc
が表示されます。
user01@ubuntu-vm:~$ cd /etc && pwd
/etc
・「cd
」コマンドを実行して、ホームディレクトリに移動します。
user01@ubuntu-vm:/etc$ cd
user01@ubuntu-vm:~$
3.cd etc && pwd
・「cd etc && pwd
」コマンドを実行します。
cd etc
コマンドが成功した場合のみ pwd
コマンドが実行されます。etc
ディレクトリが存在する場合は、pwd
コマンドによってそのディレクトリのパスが表示されます。存在しない場合はエラーメッセージが表示され、pwd
は実行されません。
user01@ubuntu-vm:~$ cd etc && pwd
bash: cd: etc: そのようなファイルやディレクトリはありません
user01@ubuntu-vm:~$
4.cd etc || pwd
・「cd etc || pwd
」コマンドを実行します。
cd etc
コマンドが失敗した場合のみ pwd
コマンドが実行されます。オア (||
) を使用することで、1つ目のコマンドが失敗した場合にのみ2つ目のコマンドが実行されます。cd etc
が失敗した場合、結果として現在のディレクトリが表示されます。例えば、etc
ディレクトリが存在しない場合に pwd
コマンドが実行され、現在のディレクトリが表示されます。
user01@ubuntu-vm:~$ cd etc || pwd
bash: cd: etc: そのようなファイルやディレクトリはありません
/home/user01
user01@ubuntu-vm:~$
まとめ
複数のコマンドを実行する方法には、それぞれ異なる動作特性があります。これらを理解して、目的に応じて適切な方法を選択することが重要です。
例えば、複数のコマンドを順次実行したい場合はセミコロン(;)を使用し、1つ目のコマンドが成功した場合にのみ2つ目のコマンドを実行したい場合はアンド(&&)を使用します。
また、1つ目のコマンドが失敗した場合にのみ2つ目のコマンドを実行したい場合はオア(||)を使用します。これらの方法を適切に使い分けることで、シェルスクリプトやコマンドライン操作を効率的に行うことができます。