在shell脚本中使用tr(翻译字符)时,使用字符串(正确的结果)和存储在变量中的字符串(错误)会得到不同的结果。
STRING="striNg"
echo "|$STRING|"
|串|
echo "striNg" | tr '[:upper:]' '[:lower:]'
的字符串
#Removing quotes around $STRING results in the same error
echo "$STRING" | tr'[:upper:]' '[:lower:]'
./ test.sh:line 16:tr [:upper:]:找不到命令
echo "|$STRING|"
|串|
答案 0 :(得分:1)
通过 @ 7171u
回答仅针对要关闭的问题。
此问题的解决方法是在tr
和'[:upper:]'
之间留出空格。