bashのdeclareとか何やら
何故か -g オプションが文書化されてない。new featureなのか? 確かに3.xにはなくて、4.3にはある。
- -g グローバル宣言 (4.x)、-gなしで関数内で使うとlocalと同じになる。
- -x exportと同じになる。
- -r readonlyと同じになる。
- -a 配列
- -A 連想配列 (4.x)
表示
- -p 変数表示
- -f 関数表示
- -F 関数の短縮表示
pオプションによる配列表示はうまくいかないときがある(バグ?)。空白と改行があるデータ(文字列)は、declare -p でもうまく判読できにない。
「ほんとのところ、データは何なの?」を調べるのが異常に大変。echoを使うなら
- echo "$var"
- echo "${#arr[@]}"
- echo "${arr[i]}"
- echo "${#ass[@]}"
- echo "${ass[i]}"
バイナリレベルで見たいなら、echo -n XXX | od -x 。
- echo -n "$IFS" | od -x