我忽略了一些简单的东西。
if [ ${FILEDATE} -gt ${MIN} ]; then
echo $MAX
fi上面的代码可以工作,但不是这样的:
if [ ${FILEDATE} -gt ${MIN} || ${FILEDATE} -lt ${MAX}]; then
echo $MAX
fi一定有一些语法问题,但我找到的引用看起来与我的完全相同。
发布于 2010-12-18 03:27:22
[ (在我的系统上是在/usr/bin/[上)实际上是一个程序或builtin,它像test(1)一样需要一个表达式。[的特殊之处在于,它必须用结束的]进行包装。
因此,通过使用shell中的&&和||运算符,可以调用[并组合不同的表达式:
if [ ${FILEDATE} -gt ${MIN} ] || [ ${FILEDATE} -lt ${MAX} ]; then #...应该可以很好地工作。
您还可以考虑将变量扩展放在""中,以获得良好的行为,即使某些变量没有定义;)
另请参阅:Unix test。
https://stackoverflow.com/questions/4474026
复制相似问题