我是shell脚本编程新手,尝试编写检查参数是否存在以及是否与表达式匹配的功能。我不知道怎么写的表达式,所以这是我到目前为止有:Shell:检查参数是否存在并匹配表达式
#!/bin/bash
if [[ -n "$1"] && [${1#*.} -eq "tar.gz"]]; then
echo "Passed";
else
echo "Missing valid argument"
fi
要运行脚本,我会键入此命令:
# script.sh YYYY-MM.tar.gz
,我相信我有什么是
- 如果YYYY-MM.tar.gz不script.sh后,会响应“缺少有效的论据”和
- 如果文件不结束名为.tar.gz它Echo的同样的错误。
但是,我想要检查整个文件名是否是YYYY-MM.tar.gz格式。
谢谢!添加第二对[]帮助解决了我的问题。 – Mark 2014-10-01 16:01:57