文字値:
c="a"
文字を ASCII 値に変換するには:
v=$(printf %d "'$c")
この ASCII 値に追加する値:
add=1
$add を追加して ASCII 値を変更するには:
((v+=add))
結果をcharに変換するには:
perl -X -e "printf('The character is %c\n', $v);"
以前-X
はすべての警告を無効にしていました
これらすべてを 1 行にまとめて、結果を変数 $r に入れることができます。
c="a"; add=1; r=$(perl -X -e "printf('%c', $(($add+$(printf %d "'$c"))));")
結果を印刷できます:
echo "$r"
結果を返す関数を作成できます。
achar ()
{
c="$1"; add=$2
printf "$(perl -X -e "printf('%c', $(($add+$(printf %d "'$c"))));")"
}
次の関数を使用できます。
x=$(achar "a" 1) // x = the character that follows a by 1
または、ループを作成できます。
array=( a k m o )
for l in "${array[@]}"
do
echo "$l" is followed by $(achar "$l" 1)
done