關於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   【這是 || 的作用】

 

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