シェルスクリプトでsubstring
なるべく外部コマンドを使わずにやってる。(例えばbasenameの代わりに${foo##*/}など)
変数の先頭文字を取り出す方法
${parameter:offset} ${parameter:offset:length}
% /bin/bash -c 'foo=abcde ; echo ${foo:0:1}' a
% /bin/zsh -c 'foo=abcde ; echo ${foo:0:1}' zsh:1: unrecognized modifier `0'
素のshで使えるかどうかは知らない。
けど良く触れるシステムの/bin/shは大体/bin/bashなので、
自分ルール的に使っても良いことにする。