【发布时间】:2013-09-19 01:11:08
【问题描述】:
我有以下情况:
#!/bin/bash
echo "Please enter a word:"
read foobar
在 Ubuntu 终端中使用 sh script.sh 调用脚本。
在互联网上搜索我找到的解决方案:
foobar=${foobar,,}
echo $foobar
上述方法仅适用于bash script.sh
于是我继续研究,发现:
echo $foobar | tr '[:upper:]' '[:lower:]'
这确实适用于bash 和sh,但没有回显它不起作用。
它还会将读取的输入打印两次,而不是像这样打印一次:
是的
是的
那么如何在不打印两次读取输入的情况下为sh 执行此操作?
【问题讨论】:
-
非常适合我。使用破折号(ubuntu12.04 上的 sh)和 bash
-
你有一个
#!/bin/bashshebang 但想用sh调用你的脚本? -
-
@gniourf_gniourf 是的,我知道这很奇怪。但是在使用./script.sh 调用脚本时,在它的权限设置为可执行后,我得到了相同的结果。
-
另一种 bash 方法:
declare -l foobar: read -p "Please enter a word:" foobar
标签: bash shell sh ubuntu-12.04 lowercase