如何在BASH中将1-26转换为a-z?

时间:2019-03-28 06:16:24

标签: bash

这是comp ci家庭作业问题的一部分。

我想使用bash脚本将[1-26]转换为[A-Z]。

#/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

1 个答案:

答案 0 :(得分:5)

您可以使用字符数组,只需指定一个索引:

chars=("", {A..Z})
i=26
echo ${chars[i]}  # Z