如何对 bash 特殊变量应用文本修改

How to apply text modifications to bash special variables

我有 bash 脚本,它使用 bash 特殊变量(如 $1、$2 等)获取输入参数

我想使用 sed 对 $2 应用一些文本修改,并希望将最终结果传输到 $2。我怎样才能做到这一点??

或者,我只想将 $2 中的文本格式化为大写形式,即 Bar、Neo、Me 等。无论他们提供哪种格式,如 bar、nEO、ME 并希望将此值保存到 $2 变量中.

main.sh
echo "${2^}"

./main.sh me nEO --> NEO -expected is-> Neo

为此我使用了 ${2^} 但仅在 bar 场景中成功

与bash:

declare -c string="nEO"
echo "$string"

这会将第一个字符转换为大写,将所有其他字符转换为小写。

输出:

Neo

我更喜欢 Cyrus 的解决方案,但这里有一个替代方案。

a=nEO
b=${a,,}   # neo
echo ${b^} # Neo