端口ksh如果条件为bash shell

端口ksh如果条件为bash shell,bash,shell,Bash,Shell,我在ksh中有这个if语句,但bash中没有。在bash中ksh等于什么 #!/bin/ksh if [[ "$1" = @(hello|world|shell) ]] ; then echo "matched" else echo "not matched" fi 谢谢 SR您可以使用 (bash4.1及更高版本暂时为[…]]内部的=启用扩展模式支持,因此shopt命令仅在bash的早期版本中是必需的) 顺便说一句,您可以使用POSIX标准case语句获得相

我在ksh中有这个if语句,但bash中没有。在bash中ksh等于什么

#!/bin/ksh

if [[ "$1" = @(hello|world|shell) ]] ; then
        echo "matched"
else
        echo "not matched"
fi
谢谢
SR

您可以使用

bash
4.1及更高版本暂时为
[…]]
内部的
=
启用扩展模式支持,因此
shopt
命令仅在
bash
的早期版本中是必需的)

顺便说一句,您可以使用POSIX标准
case
语句获得相同的结果

case $1 in
    hello|world|shell) echo "matched" ;;
    * ) echo "not matched" ;;
esac

您可以使用启用
ksh
的扩展模式支持的子集(幸运的是,它包括
@(…)
构造:)

bash
4.1及更高版本暂时为
[…]]
内部的
=
启用扩展模式支持,因此
shopt
命令仅在
bash
的早期版本中是必需的)

顺便说一句,您可以使用POSIX标准
case
语句获得相同的结果

case $1 in
    hello|world|shell) echo "matched" ;;
    * ) echo "not matched" ;;
esac
更改
#怎么样/bin/ksh
#/bin/bash
?如何更改
#/bin/ksh
#/bin/bash