首页
学习
活动
专区
圈层
工具
发布

ksh条件
EN

Stack Overflow用户
提问于 2010-12-18 03:23:12
回答 1查看 197关注 0票数 0

我忽略了一些简单的东西。

代码语言:javascript
复制
if [ ${FILEDATE} -gt ${MIN} ]; then
    echo $MAX
fi

上面的代码可以工作,但不是这样的:

代码语言:javascript
复制
if [ ${FILEDATE} -gt ${MIN} ||  ${FILEDATE} -lt ${MAX}]; then
    echo $MAX
fi

一定有一些语法问题,但我找到的引用看起来与我的完全相同。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-18 03:27:22

[ (在我的系统上是在/usr/bin/[上)实际上是一个程序或builtin,它像test(1)一样需要一个表达式。[的特殊之处在于,它必须用结束的]进行包装。

因此,通过使用shell中的&&||运算符,可以调用[并组合不同的表达式:

if [ ${FILEDATE} -gt ${MIN} ] || [ ${FILEDATE} -lt ${MAX} ]; then #...应该可以很好地工作。

您还可以考虑将变量扩展放在""中,以获得良好的行为,即使某些变量没有定义;)

另请参阅:Unix test

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4474026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档