我试图要求脚本仅在提供的命令行参数是与脚本位于同一目录中的名为 dailyUserProcs.20181203 的特定文本文件时运行。我也在运行 Putty。
目前我需要任何输入来运行脚本,如下所示。
if [ -z "$1" ] then
echo" No argument"
exit 1
fi
答案1
要测试文件是否存在,请使用-f
.要测试两个字符串是否相等,请使用==
(同样不等于!=
)。要否定某事,请使用!
.对于逻辑或两个测试,请使用||
.把这一切放在一起,你会得到
if [ ! -f "$1" ] || [ "$1" != "dailyUserProcs.20181203" ]; then
echo Invalid Argument
exit 1
fi
echo Argument exists and is correct
# ... rest of code
info test
这一切都可以通过键入并阅读文档来找到。