端口ksh如果条件为bash shell
我在ksh中有这个if语句,但bash中没有。在bash中ksh等于什么端口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语句获得相
#!/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
?