
有一句shell命令谁帮忙解释一下,谢谢 if test ! -h ../../Home
2个回答
展开全部
这是一个判断表达式。
用 man test 查看 test 命令的帮助:
-h FILE
FILE exists and is a symbolic link (same as -L)
文件存在并且是一个字符链接(与-L选项相同)。
! EXPRESSION
EXPRESSION is false
表达式为false,即“非”操作(“取反”操作)。
所以,这句判断语句的意思就是:
如果 ../../Home 这个文件不存在,或者存在但不是一个字符链接。
如果是一个字符链接,那么用ls -l ../../Home 应该能看到后面显示一个链接符号 -> 链接到别的文件。比如:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar 16 2009 /bin/sh -> bash
用 man test 查看 test 命令的帮助:
-h FILE
FILE exists and is a symbolic link (same as -L)
文件存在并且是一个字符链接(与-L选项相同)。
! EXPRESSION
EXPRESSION is false
表达式为false,即“非”操作(“取反”操作)。
所以,这句判断语句的意思就是:
如果 ../../Home 这个文件不存在,或者存在但不是一个字符链接。
如果是一个字符链接,那么用ls -l ../../Home 应该能看到后面显示一个链接符号 -> 链接到别的文件。比如:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar 16 2009 /bin/sh -> bash
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询