shell中的&&与||运算符的例子
在linxu中,前一个命令执行的结果正确,则Linux会回传一个$?=0的值。 ![]()
例一:使用 ls 查阅目录 /tmp/abc 是否存在,若存在则用 touch 建立
复制代码代码示例:
/tmp/abc/hehe
[root@jbxue ~]# ls /tmp/abc && touch /tmp/abc/hehe ls: /tmp/abc: No such file or directory # ls找不到该目录,但幵没有 touch 癿错误,表示 touch 并没有执行。 [root@jbxue ~]# mkdir /tmp/abc [root@jbxue ~]# ls /tmp/abc && touch /tmp/abc/hehe [root@jbxue ~]# ll /tmp/abc -rw-r--r-- 1 root root 0 Feb 7 12:43 hehe 如果 /tmp/abc 不存在时,touch 就不会被执行,若 /tmp/abc 存在的话,那么 touch 就会开始执行啰!
例二:测试 /tmp/abc 是否存在,若不存在则建立,若存在则不进行任何操作。
复制代码代码示例:
[root@jbxue ~]# rm -r /tmp/abc <==先初除此目录
[root@jbxue ~]# ls /tmp/abc || mkdir /tmp/abc ls: /tmp/abc: No such file or directory <==真的不存在喔! [root@jbxue ~]# ll /tmp/abc total 0 <==结果出现了!有进行 mkdir 如果要建立 /tmp/abc/hehe 文件,但并不知道 /tmp/abc 是否存在,应该如何操作呢?
例三:不清楚 /tmp/abc 是否存在,但要创建 /tmp/abc/hehe 文件。
复制代码代码示例:
[root@jbxue ~]# ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe
分析: |