この場合、変数argが定義されていればargの内容定義されていなければabcを返します。 これをシェルスクリプトの中でHOST=${HOST:-"192.168.1.1"}のように使うことで、export HOST="10.1.1.1"のように環境変数をセットしているときにはそれを使い、そうで無いときはデフォルト値192...を使うという処理ができます。 他にも:+や:?があります。 $ var=test # 代入してやってみる $ echo ${var:-"abc"} # $varが定義されていればvarの値、なかったら"abc"を返す test $ echo ${var:="abc"} # $varが定義されていればvarの値、なかったらvarに"abc"を代入して"abc"を返す。 test $ echo ${var:?"abc"} # $varが定義されていればvarの値、なかった