我已经用"&&"并试图反对""但是对于null值,每次它都没有向下移动到else语句。
#!/bin/bash
#find | grep
#find -a {} | grep {search}
function fg {
if [ -z $1 ] && [ -z $2 ]; then
echo "Help: find {path} | grep {search} "
else
find $1 | grep $2
fi
}
fg
答案 0 :(得分:1)
始终引用您的参数扩展。
fg () {
if [ -z "$1" ] && [ -z "$2" ]; then
echo "Help: must specify path and regular expression"
else
find "$1" -regex "$2"
fi
}
fg
但是,检查未设置或空参数的更简洁方法是通过:?
运算符。
fg () {
: ${1:?Missing path}
: ${2:?Missing regex}
find "$1" -regex "$2"
}