简单的问题,我不明白是什么!,并-d在下面的语句的意思.
if [ ! -d $directory ]
Run Code Online (Sandbox Code Playgroud)
小智 16
-d 是一个测试给定目录是否存在的运算符.
例如,我有一个名为/ home/sureshkumar/test /的目录.
目录变量包含"/ home/sureshkumar/test /"
if [ -d $directory ]
Run Code Online (Sandbox Code Playgroud)
仅当目录存在时,此条件才为真.在我们的示例中,该目录存在,因此该条件为true.
我正在将目录变量更改为"/ home/a/b /".该目录不存在.
if [ -d $directory ]
Run Code Online (Sandbox Code Playgroud)
现在这种情况是错误的.如果我把!目录放在前面,如果目录不存在,那么if条件为真.如果目录存在,则if [ ! -d $directory ]条件为false.
操作的!运算符是条件为真,然后表示条件为假.如果条件为假,则说条件为真.这是工作!运营商.
if [ ! -d $directory ]
Run Code Online (Sandbox Code Playgroud)
仅当$目录不存在时,此条件才为真.如果该目录存在,则返回false.
括号是测试可执行文件,感叹号是否定,-d选项检查变量$directory是否是目录.
从男人测试:
-d FILE
FILE exists and is a directory
! EXPRESSION
EXPRESSION is false
Run Code Online (Sandbox Code Playgroud)
结果是if语句说"if $directoryis not a directory"