シェル スクリプト (非常に大きなシェル スクリプト) を bash から Android シェル (mksh シェル) に移植しています。
Android ではprintf
、他の Linux システムでの動作と同じようには動作していないようです。
サンプルコード:
$ cat sample.sh
...
func1()
{
A=100
HEXA=`printf "%04x" ${A}`
echo "A - ${A} HEXA - ${HEXA}"
}
func1
この関数の出力は次のとおりです。
$ ./sample.sh
A - 100 HEXA - 300000078
本当に奇妙な数字を出力しています。
他の投稿や のマンページから、での使用は推奨されていないmksh
ことがわかりました。私のシェル スクリプトは非常に大きく、非常に頻繁に使用しています。ということで、なんとか対処したいと思います。これを処理するためのオプションは何ですか?printf
mksh