>> temp=${str#?} # все кроме первого символа
>> char=${str%"$temp"} # удаляем все, оставляя только первый символ
> Идея прикольная, мне понравилось ) но сколько искал, не нашел - что
> за операторы такие
> #? и %. особенно непонятно, как во втором случае работает # тут строка str, начиная с ее начала, сравнивается с шаблоном (? в данном случае любой символ)
совпадение удаляется, т.е. первый символ, остаток помещается в temp.
% сравнивает str с конца и удаляет совпадение с шаблоном, оставляя только первый символ.
Это я в какой-то книге видел. К сожалению не помню где.
А, вот нашел: Learning the bash Shell, 3rd Edition, By Cameron Newham, ISBN: 0-596-00965-8