关于shell: shell中的运算符

一、管道运算符

     运算符号: 『|』; 

     用法:command1  |  command2

     作用: command1  的输出结果,做为command2 的输入结果; 

     举例: 

 grep -r "aaa"  log.log  | wc -l

10

# 指令解析:  从文件『log.log』中查找包含子串『aaa』的行,  然后统计其行数;
# 第一个指令的结果, 做为第二个结果的输入; 
# 最终的结果为统计的行数:

二、&& 运算符

     运算符号: 『&&』

     用法:  command1  &&  command2  && command3 ...  &&  command n

     作用:当command1  执行成功了,则执行command2;   当command2执行成功了,  则执行command3 ... 

                 中间,但凡有一个command执行失败了, 则指令结束; 后面的command不再执行;

      举例:

cp  run.log   ../  &&  rm run.log   &&  echo "success"

success    【成功时,输出】
cp: cannot stat `run.log': No such file or directory    【失败时,输出】

# command1  为 将当前目标文件,拷贝到上一层目录;
# command2  为 删除当前目录的文件;
# command3  为 输出success;

# 当前前一个指令执行成功,则执行后一个指令;  当其中任何一个指令执行失败,则操作结束,不再继续往后走;

 

三、 || 运算符

     运算符: 『||』

     用法:command1  ||   command2   ||  command3 ...  ||  command n

     作用: 挨个执行command, 但凡有一个执行成功,则停止执行;若没有执行成功,则往后走,执行next指令;

     举例:

ls run.log  &>/dev/null   && echo "sucess"  || echo "fail"  

fail

# 运算优先级,从左到右;
# 当本地目录下存在 run.log ,  这执行command2【输出success】;
# 当本地目录下没有存在 run.log, 则不执行command2 ; 该任务执行失败  【这是 && 的作用】
# 当 前面执行失败, 则执行 command3   【这是 || 的作用】

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章