📔

Bashで連結したコマンドの一部を無効化する方法

2025/01/26に公開

はじめに

コマンドをセミコロン;で連結して実行することがあるかと思います。その際、一部を実行させなくする必要がありましたのでそれを記事にします。

概要

実行させないコマンドの前に: を入れるだけです。

$ : echo one ; echo two ; echo three
two
three
$ echo one ; : echo two ; echo three
one
three

Bashにおいて、コロン:は「nullコマンド」と呼ばれ、特に何も処理を行いません。この性質を利用して、コマンドを無効化することができます。

必要になった経緯

以前、コマンドを逐次実行するスクリプトを作成しました。実行前に表示をして確認を取るようにしています。

https://zenn.dev/arbr/articles/2790a886e89384

コマンドを表示させただけでは、そのコマンドの意味や実行する理由、期待する戻り値はわからず、別に資料化する必要がありました。
そのため実行の際に、それらの情報も1行のコマンドの中に入れるために使いました。

以下のような使い方です。

$ : Shift+Eで単位変更、Qで終了 ; top
$ : buff/cacheが2G以上あること ; free -h

おわりに

今回は連結したコマンドの一部を無効化する方法を記事にしました。
経緯にも書きましたが、コマンドを実行する人間を補助するために、情報を付与するなどに使えればと思います。
この記事がどなたかのお役に立ちましたら幸いです。

Discussion