如何对 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
我有 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