将小写转换存储在bash中的变量中

  • 本文关键字:bash 变量 存储 转换 bash
  • 更新时间 :
  • 英文 :


我正在尝试将字符串转换为其小写,并将其存储在另一个变量中,以便我可以对其进行未来的操作。

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"。当您使用此功能时,变量分配仅在一个命令的持续时间内生效。

最新更新