Bash 将字符串转换为小写变量

Bash 将字符串转换为小写变量,bash,Bash,使用bash版本3.2.57(1)-发行版(x86_64-apple-darwin14) 如何“重新分配”或“更改”读取到变量中的现有值 如果用户输入字符串IAmString,我希望propInput存储值IAmString。我只是简单地打印到控制台只是为了举例 read userInput echo ${userInput} | tr '[:upper:]' '[:lower:]' 您应该存储命令的输出: read userInput userInput=$(echo "$userInput

使用bash版本3.2.57(1)-发行版(x86_64-apple-darwin14)

如何“重新分配”或“更改”读取到变量中的现有值

如果用户输入字符串
IAmString
,我希望
propInput
存储值
IAmString
。我只是简单地打印到控制台只是为了举例

read userInput
echo ${userInput} | tr '[:upper:]' '[:lower:]'

您应该存储命令的输出:

read userInput
userInput=$(echo "$userInput" | tr '[:upper:]' '[:lower:]')

我很惊讶这还不起作用

您在存储值时遇到问题了吗

如果是这样,您必须:

userInput=$(echo ${userInput} | tr '[:upper:]' '[:lower:]')
但它看起来像一个mac环境。你得到了什么结果


编辑、添加
userInput=$()
并重新构造以更好地查询。

不,它可以工作。但他不想把它放在控制台里。他想将新字符串存储在
userInput
中。这不是答案,而是注释。这不是答案,因为我对这个问题不太确定。但我想我现在明白问题了?我现在还只是猜测。。。这缺少
userInput=$()
。现在编辑我的“评论”…你是对的。他确实遗漏了设置变量的部分。出于某种原因,我认为他不需要那个部分,并且在转换成小写时遇到了问题……不客气!这很容易;)