如何使 bash 脚本不区分大小写?
How can I make a bash script case insensitive?
我正在编写一个脚本,根据他们输入的名字输出关于我朋友的一些信息,但在脚本中我将 if/then 的条件设置为他们的名字大写。有什么方法可以让他们输入小写字母,但输出仍然相同?
在bash中,您可以使用,,
参数扩展来小写变量值:
#! /bin/bash
read -p Name: name
case ${name,,} in
(john) echo Hi John! ;;
(jane) echo Hallo Jane! ;;
(jack) echo Long time no see, Jack! ;;
(*) echo "I don't know you." ;;
esac
您可以尝试使用全大写的单词作为格,例如:
# name="Viktor"; echo "${name^^}"
VIKTOR
所以,写这样的东西:
#!/bin/bash
echo "Type your name"
read name
capitalName=$(echo "${name^^}")
case "${capitalName}" in
...
esac
我正在编写一个脚本,根据他们输入的名字输出关于我朋友的一些信息,但在脚本中我将 if/then 的条件设置为他们的名字大写。有什么方法可以让他们输入小写字母,但输出仍然相同?
在bash中,您可以使用,,
参数扩展来小写变量值:
#! /bin/bash
read -p Name: name
case ${name,,} in
(john) echo Hi John! ;;
(jane) echo Hallo Jane! ;;
(jack) echo Long time no see, Jack! ;;
(*) echo "I don't know you." ;;
esac
您可以尝试使用全大写的单词作为格,例如:
# name="Viktor"; echo "${name^^}"
VIKTOR
所以,写这样的东西:
#!/bin/bash
echo "Type your name"
read name
capitalName=$(echo "${name^^}")
case "${capitalName}" in
...
esac