我正在尝试将字符串转换为其小写,并将其存储在另一个变量中,以便我可以对其进行未来的操作。
month= $(echo "${1,,}")
echo $month
我也尝试了以下
month= "${1,,}"
echo $month
我找到一个命令找不到的错误,例如: "bash: aug: command not foundrn"
我在做什么错?
bash对whitespace非常特别。在相等的标志之后摆脱空间。
month=$(echo "${1,,}")
或更直接:
month=${1,,}
当您有空间时,将行解析为两个单独的项目:
month= $(echo "${1,,}")
^^^^^^ ^^^^^^^^^^^^^^^^
| |
| +-------> command
+------------------> variable assignment
它试图执行$(echo "${1,,}")
的结果,就好像它是命令一样。这就是为什么它抱怨aug: command not found
。
它认为month=
是A=foo B=bar command
表格的变量分配,该分配command
用$A
和$B
临时设置为"foo"
和"bar"
。当您使用此功能时,变量分配仅在一个命令的持续时间内生效。