首页 > 解决方案 > 如何在 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

标签: bash

解决方案


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

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

推荐阅读