このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

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