我是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