我写了一个我经常使用的bash脚本。突然下一个命令失败,并显示错误`[:lower:]:命令未找到。我用了很长时间的脚本,所以该命令以前就起作用了。
PROJECTTITLE="$(tr '[:lower:]' '[:upper:]' <<< ${PROJECTNAME:0:1})${PROJECTNAME:1}"
该命令将字符串变量转换为Title大小写并将其保存在另一个变量中。
在控制台中执行相同的代码时,它可以正常工作。
我使用的是macOS Mojace 1.14.2,bash版本3.2.57(1)-发行版。
答案 0 :(得分:0)
不需要涉及外部命令和子外壳程序; Bash内置了大小写修改功能! edit:从4.0版开始
PROJECTNAME=${PROJECTNAME,,} # convert all characters to lowercase
PROJECTTITLE=${PROJECTNAME^} # convert first character to uppercase