如何比较BASH脚本中的字符串?

时间:2013-03-06 19:54:52

标签: string bash command-line terminal

我只想知道如何读取字符串然后进行比较。如果是“加号”,则继续

#!/bin/bash 

echo -n Enter the First Number:
read num
echo -n Please type plus:
 read opr


if [ $num -eq 4 && "$opr"= plus ]; then

echo this is the right


fi

2 个答案:

答案 0 :(得分:4)

#!/bin/bash 

read -p 'Enter the First Number: ' num
read -p 'Please type plus: ' opr

if [[ $num -eq 4 && $opr == 'plus' ]]; then
    echo 'this is the right'
fi

如果您正在使用bash,我强烈建议您使用双括号。它们比单支架好很多;例如,他们更加理智地处理不带引号的变量,你可以在括号内使用&&

如果您使用单括号,那么您应该写下:

if [ "$num" -eq 4 ] && [ "$opr" = 'plus' ]; then
    echo 'this is the right'
fi

答案 1 :(得分:0)

#!/bin/bash 

echo -n Enter the First Number:
read num
echo -n Please type plus:
 read opr


if [[ $num -eq 4 -a "$opr" == "plus" ]]; then
#               ^            ^    ^
# Implies logical AND        Use quotes for string
    echo this is the right
fi