BASH tr命令

Dan*_*Dan 2 linux bash scripting case tr

我喜欢将其转换为大写,以便进行格式化,因此它将遵循未来的case语句.我认为案例陈述是区分大小写的.

我看到tr命令与echo命令一起使用的所有地方为你提供了立即的结果,例如:

echo "Enter in Location (i.e. SDD-134)"
read answer (user enters "cfg"

echo $answer | tr '[:lower:]' '[:upper:]'   which produced

cfg # first echo not upper?

echo $answer #echo it again and it is now upper...

CFG
Run Code Online (Sandbox Code Playgroud)

gho*_*oti 13

此版本不需要bash,但使用管道:

read -p "Enter in Location (i.e. SDD-134) " answer
answer=$(echo "$answer" | tr '[:lower:]' '[:upper:]')
echo "$answer"
Run Code Online (Sandbox Code Playgroud)

如果您正在使用bash并且不关心可移植性,则可以使用以下内容替换第二行:

answer="${answer^^}"
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请查看bash手册页的"参数扩展"部分.


Ale*_*sky 5

通过 tr 回显变量将输出值,它不会改变变量的值:

answer='cfg'
echo $answer | tr '[:lower:]' '[:upper:]'
# outputs uppercase but $answer is still lowercase
Run Code Online (Sandbox Code Playgroud)

如果您想稍后引用它,则需要重新分配变量:

answer='cfg'
answer=$(echo $answer | tr '[:lower:]' '[:upper:]')
echo $answer
# $answer is now uppercase
Run Code Online (Sandbox Code Playgroud)