我有bash脚本,该脚本使用bash特殊变量(例如$ 1,$ 2等)接受输入参数。
我想在$ 2上使用sed
进行一些文本修改,并将最终结果传输到$ 2。我该如何实现?
或者,我只想将$ 2中的文本格式化为大写形式,即Bar,Neo,Me等。无论它们提供给我的格式是bar,nEO,ME还是要将此值保留为$ 2变量。 / p>
main.sh
echo "${2^}"
./main.sh me nEO --> NEO -expected is-> Neo
为此我使用了${2^}
,但仅在bar
情况下成功了
答案 0 :(得分:3)
使用bash:
declare -c string="nEO"
echo "$string"
这会将第一个字符转换为大写,并将所有其他字符转换为小写。
输出:
Neo
答案 1 :(得分:1)
我更喜欢Cyrus的解决方案,但这是替代方案。
a=nEO
b=${a,,} # neo
echo ${b^} # Neo