我对Bash与其他语言的案例陈述有点混淆。也许这是一个直接问题最好的问题。什么是if语句相当于:
case $filename in
*_[0-9][0-9] )
echo "fine";;
*)
echo "fail";;
esac
由于
答案 0 :(得分:2)
请注意,虽然SELECT TOP 10 *
FROM mytable
WHERE Id > 15
ORDER BY Id
版本与POSIX兼容,但以下内容特定于shell,例如bash,它采用ksh扩展。 (POSIX sh不提供case
以外的任何本机机制来对可变内容而不是文件系统执行fnmatch样式模式匹配。
case
有关if [[ $filename = *_[0-9][0-9] ]]; then
echo "fine"
else
echo "fail"
fi
的更多信息及其与内置[[
和[
命令的区别,请参阅BashFAQ #31。