bashコマンドメモ
某先生から教えてもらったものを、どこからでも自分が参照できるように転載。
a=23 #スペースを入れないこと let a=2 #letでは$がいらない。 a=$(cat hoge) b=${a/BB/CC} #BBをCCに置換して代入。いっこだけ。 b=${a//BB/CC} #BBをCCに置換して代入。全部。 b=${a/#BB/CC} #文字列先頭のBBをCCに置換して代入。 b=${a/%BB/CC} #文字列末尾のBBをCCに置換して代入。 a=$(($b+1)) files=(`ls`) #lsの出力を配列に代入 ${files[@]} #配列の内容全て ${name:-value} #nameが存在すれば$nameでなければvalue ${name:+value} #nameが存在すればvalue ${name:=value} #nameが存在すれば$nameでなければvalueを割り当て ${name:?value} #nameがあればvalueをstderrに出力して終了 ${name:start:length} #nameをstartからlengthまで切り取る ${a#pattern} #変数の先頭から最短一致したパターンを削除 ${a##pattern} #変数の先頭から最長一致したパターンを削除 ${a%pattern} #変数の末尾から最短一致したパターンを削除 ${a%%pattern} #変数の末尾から最長一致したパターンを削除 ${!varprefix*} # varprefixで始まる変数名の一覧 ${!varprefix@} # varprefixで始まる変数名の一覧