bash - 如何在 BASH 中将 1-26 翻译成 az?
问题描述
这是comp sci作业问题的一部分。
我想使用 bash 脚本将 [1-26] 翻译成 [AZ]。
#/bin/bash
if [ $1 = -u ] && [ $2 = -s ];then
#statements
echo $3 | tr '[1-26]' '[A-Z]'
fi
不要太担心 if 语句,这是我正在研究的问题的一部分。
当我运行 ./file.sh -u -s 2 输出是
B
但是当我运行 ./file -u -s 16 时,输出是
A6
我希望它输出
P
解决方案
您可以使用一个字符数组并只指定一个索引:
chars=("", {A..Z})
i=26
echo ${chars[i]} # Z