Perl命令与-d有关

时间:2017-06-20 23:29:54

标签: perl

我找到了这个程序,我无法弄清楚这个if声明是什么

if(!(-d "$string_value"))

string_value可能有/default/main/folder1

3 个答案:

答案 0 :(得分:1)

考虑到括号,它看起来非常像perl语法。如果是,则(-d $ string_value)检查$ string_value是否是目录。如果$ string_value是,则执行if语句! (不是)目录。

答案 1 :(得分:0)

我不认为这是有效的。 -d运算符正在测试路径字符串是Bash还是Perl中的目录,但我不知道Groovy中的文件运算符。这看起来像Perl code

答案 2 :(得分:0)

来自perldoc

  
    

-d检查文件是否是目录。

         

!它是符号一元运算符。它执行逻辑否定,即" not"。

  

如果$string_value是目录,则会-d $string_value的结果为真(1)。但是你正在检查满足条件是否应该是假的。它意味着!1所以如果它不是目录块将被执行。

可以写成unless(-d $string_value)