在我的 bash 脚本中我想将a-z
字符转换为整数
所以我写了以下内容
[[ $var == b ]] && var=1
[[ $var == c ]] && var=2
[[ $var == d ]] && var=3
[[ $var == e ]] && var=4
[[ $var == f ]] && var=5
[[ $var == g ]] && var=6
[[ $var == h ]] && var=7
[[ $var == i ]] && var=8
[[ $var == j ]] && var=9
[[ $var == k ]] && var=10
[[ $var == l ]] && var=11
[[ $var == m ]] && var=12
[[ $var == n ]] && var=13
[[ $var == o ]] && var=14
[[ $var == p ]] && var=15
[[ $var == q ]] && var=16
[[ $var == r ]] && var=17
[[ $var == s ]] && var=18
[[ $var == t ]] && var=19
[[ $var == u ]] && var=20
[[ $var == v ]] && var=21
[[ $var == w ]] && var=22
[[ $var == x ]] && var=23
[[ $var == y ]] && var=24
[[ $var == z ]] && var=25
Run Code Online (Sandbox Code Playgroud)
上面描述的方法并不优雅,我想知道我们是否可以做得更短
有什么建议么?
和bash
:
for var in a b c x y z; do
var="$(($(printf '%d\n' "'$var") - 97))"
echo "$var"
done
Run Code Online (Sandbox Code Playgroud)
输出:
0 1 2 23 24 25
来源: https: //superuser.com/a/597624/340330
归档时间: |
|
查看次数: |
137 次 |
最近记录: |