我在bash中有以下行:

echo“制造商:$(echo${family:-$name}|cut-d''-f1)”

我想使用${var^}语法,但不确定如何将其添加到当前行。有人能建议怎么做吗?

3个答案

重置为默认值

两个单缸套

$echo“watever”|awk'{print toupper($0)}'$echo“watever”|tr'[:lower:]''[:upper:]'
2

只需使用将上述命令的输出存储在变量中命令替换:

s=$(echo“制造商:$(echos${family:-$name}|cut-d''-f1)”)

然后使用:

echo“${s^^}”

将字符串大写。

1

塞德在这里很方便:

name=史密斯family=“”echo“制造商:$(sed的/[^[:空白:]]\+/\U&/'<<”${family:-$name}“)”
制造商:史密斯

如果您只想“title-case”(“制造商:Smith”),请使用\u个而不是\U型

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.