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

问题描述 投票:1回答:1

这是comp sci作业问题的一部分。

我想使用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
bash
1个回答
5
投票

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

chars=("", {A..Z})
i=26
echo ${chars[i]}  # Z
© www.soinside.com 2019 - 2024. All rights reserved.