Bash:if和typecheck

时间:2017-10-20 16:47:26

标签: bash

大家好我是新来的。希望你能帮助我 我写这个(应该很简单)bash脚本来检查文件类型是txt还是zip。但它不起作用

代码是:

#!/bin/sh
echo "please insert file"
read file
if [ $file == *.txt ]
then
emacs $file
elif [ $file == *.zip ]
then 
zip $file
fi

2 个答案:

答案 0 :(得分:1)

使用案例陈述。

case "$file" in
*.txt) emacs $file ;;
*.zip) zip   $file ;;
esac

答案 1 :(得分:0)

您可以使用:

if [ ${file: -4} == ".txt" ]
并因此比较最后4个字符

或使用:

if [[ $file == *.txt ]]
因此使用正则表达式(双括号仅在某些shell中可用,但在bash中可用)。