【问题标题】:How to negate/ "reverse mean" this search - that is "!" the meaning如何否定/“反向表示”这个搜索 - 即“!”意义
【发布时间】:2014-02-21 18:29:02
【问题描述】:
if [[ -n  $(find $path  -name "$string*")  ]]
then
    <stuff>
else

<stuff>

fi

我想把上面的搜索倒过来像

 if [[ ! -n  $(find $path  -name "$string*")  ]]
then
    <stuff>
else

<stuff>

fi

但它不允许这样做,因为我在这里检查查找命令输出 任何线索。谢谢你的帮助

【问题讨论】:

    标签: shell testing if-statement find negate


    【解决方案1】:

    您可以使用以下方法在 find 中反向搜索:

    find "$path" ! -name "$string*"
    

    顺便说一句,这也是有效的:

    [[ ! -n $(find $path -name "$string*") ]]
    

    否则你可以使用-z:

    [[ -z $(find $path -name "$string*") ]]
    

    【讨论】:

    • 我用的是#2,但我犯的错误是[[!它不承认!-为“空间”保留“没有空间”。但即使在修复之后,等价也会丢失 [[ ! -n $(find $path -name "$string*") ]] 然后 echo "Yah" else echo "Nada"` 。将永远屈服 Yah 。所以 ! n 根本没有否定它,这可能是因为我们正在检查数字。 ! -name 是神话般的 TY anubhava。
    猜你喜欢
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2016-09-04
    • 2018-06-08
    • 2018-07-30
    • 2012-01-25
    相关资源
    最近更新 更多