:(ヌルコマンド、null command)は、引数の展開とリダイレクト以外何も行わないコマンドです。
組み込みコマンドのひとつになります。また、終了ステータスは常に0(真)になります。
:(ヌルコマンド)の構文
1 |
: [arguments] |
arguments:引数
:(ヌルコマンド)の利用例
空のファイルを作成
:(ヌルコマンド)はリダイレクトを行うことで、空のファイルを作成することができます。
コマンド例と実行結果
1 2 3 4 |
$: > file.txt $ls -l 合計 0 -rw-rw-r-- 1 ubuntu ubuntu 0 12月 10 16:30 file.txt |
条件分岐処理での何もしない処理
:(ヌルコマンド)は条件分岐処理で何も処理を行わない処理として利用することができます。
コマンド例
1 2 3 4 5 6 7 |
#!/bin/bash if true ; then : else echo 'false' fi |
デバッグでの変数確認
組み込みコマンドであるsetコマンドのxオプションを用いると変数等が展開され実行される前の状態のコマンドを表示できます。例えば、:(ヌルコマンド)と組み合わせることで変数の状態を確認することができます。ただし、終了ステータスを確認している場合、:(ヌルコマンド)の終了ステータスが常に0であることに注意が必要になるかもしれません。
debug_nullcommand.sh
1 2 3 4 5 6 7 |
#!/bin/bash var='hello' set -x : $var set +x |
実行結果
1 2 3 |
$./debug_nullcommand.sh + : hello + set +x |
set -xでトレースの機能をオンにし、set +xでトレースの機能をオフにします。
setコマンドを用いずに、一行目のbashのインタプリタを指定する場合に-xオプションを指定するとset -xがオンの状態でシェルスクリプトを起動することができます。
1 |
#!/bin/bash -x |