特殊文字を使うコマンドをまとめました。(ネットで調べるのが難しいため)
自分用のメモなので、特に内容的なまとまりはありません。
変数値の置換
${foo:-bar} は、変数fooがセットせれていなければbarを、セットされていればfooを返します。
$ echo ${var:-1} 1 $ var=2 $ echo ${var:-1} 2
ちなみに ${foo:=bar} とした場合は、fooにbarがセットされます。
$ echo ${var:=3} 3 $ echo $var 3
コマンドの実行結果を引数に入れる
``を使う方法と、$()を使う方法があります。
$ var=`expr 1 + 2` $ echo $var 3 $ var2=$(expr 1 + 2) $ echo $var2 3
testコマンド
[ -(オプション) (引数) ]で使えます。 様々なオプションがあり、たとえばeはファイルが存在すればtrueを返します。
# fileというファイルはない状態で始める $ if [ -e file ]; then echo "aaa"; fi # fileというファイルを作って同じコマンドを実行 $ touch file $ if [ -e file ]; then echo "aaa"; fi aaa
三項演算子
以下のように書くことができます。
# fileは存在するがfile2は存在しない状態で実行 $ [ -e file ] && echo a || echo b a $ [ -e file2 ] && echo a || echo b b
コマンドを続けて実行する
&& か ; でつなぐことができます。
$ pwd && pwd (ディレクトリ名) (ディレクトリ名) $ pwd ; pwd (ディレクトリ名) (ディレクトリ名)