原型: value=$((n#${key}XM ) )
value:自定义变量的运算值
n:要转换的进制数; 二进制是二进制,十进制是十
key:字符串变量
x :操作员; 例如- */.
m:操作数
例1 :在十进制字符32上加上32
a='32 '
value=$ () (10#${a}32 ) )
-------------请参阅
[ root @ localhosttestshell ] # echo $ a
64
-------64是10进军力--------------------- -。
例2 :十六进制字符32加上32
a='32 '
value=$ (() 16#${a}0x32 ) )
-------------请参阅
[ root @ localhosttestshell ] # echo $ a
100
-----------100是十大进军力-----
现实使用案例:
shell在for循环中读取文件后,将文件名转换为数字
例如,文件名-9361,前面添加两个0
shell脚本如下:
#! /时尚的飞机/bash
#rename files in your input path
for file in `ls $1`
德奥
if [ -f $file ]
陈真
right=${file#*.}
left=${file%.*}
if [ $2=${right} ]
陈真
leftn=$(((10#$left-9361 ) ) )
name='00${leftn} '
重命名$ { left } $ { name } $ { file }
echo ' $ { file }---$ { name }.$ { right } '
else
echo '${file} is not $2'
fi
else
echo '${file} is not file!'
fi
道恩