Linux中&&和&,|和||用法及區別詳解!
在使用Linux命令時,我們往往可以一行執行多條命令,或者有條件的執行下一條命令,對於剛接觸Linux命令時,特殊符號絕對是最困擾的事情之,本篇文章將為大家詳細介紹下&&和&,|和||的用法,以下是詳細的內容:
“;”分號用法
方式:command1 ; command2
用;號隔開每個命令, 每個命令按照從左到右的順序,順序執行, 彼此之間不關心是否失敗, 所有命令都會執行。
“|”管道符用法
上一條命令的輸出,作為下一條命令引數
方式:command1 | command2
Linux所提供的管道符“|”將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推
利用一個管道
# rpm -qa|grep licq
這條命令使用一個管道符“|”建立了一個管道。管道將rpm -qa命令的輸出(包括系統中所有安裝的RPM包)作為grep命令的輸入,從而列出帶有licq字元的RPM包來。
利用多個管道
# cat /etc/passwd | grep /bin/bash | wc -l
這條命令使用了兩個管道,利用第一個管道將cat命令(顯示passwd檔案的內容)的輸出送給grep命令,grep命令找出含有“/bin /bash”的所有行;第二個管道將grep的輸出送給wc命令,wc命令統計出輸入中的行數。這個命令的功能在於找出系統中有多少個使用者使用bash
“&”符號用法
&放在啟動引數後面表示設定此程式為後臺程式
方式:command1 &
預設情況下,程式是前臺程式,這時就把Shell給佔據了,我們無法進行其他操作,對於那些沒有互動的程式,很多時候,我們希望將其在後臺啟動,可以在啟動引數的時候加一個'&'實現這個目的。
“&&”符號用法
shell 在執行某個命令的時候,會返回一個返回值,該返回值儲存在 shell 變數 $? 中。當 $? == 0 時,表示執行成功;當 $? == 1 時(我認為是非0的數,返回值在0-255間),表示執行失敗。
命令之間使用 && 連線,實現邏輯與的功能。
語法格式:command1 && command2 [&& command3 ...]
只有在 && 左邊的命令返回真(命令返回值 $? == 0),&& 右邊的命令才會被執行。
只要有一個命令返回假(命令返回值 $? == 1),後面的命令就不會被執行。
“||”符號用法
語法格式:command1 || command2 [|| command3 ...]
命令之間使用 || 連線,實現邏輯或的功能。
只有在 || 左邊的命令返回假(命令返回值 $? == 1),|| 右邊的命令才會被執行。這和 c 語言中的邏輯或語法功能相同,即實現短路邏輯或操作。
只要有一個命令返回真(命令返回值 $? == 0),後面的命令就不會被執行。 –直到返回真的地方停止執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2925916/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CountDownLatch和CyclicBarrier區別及詳解CountDownLatch
- MyBatis中#{}和${}的區別詳解MyBatis
- JS中的!=、== 、!==、=== 的用法和區別JS
- js中!和!!的區別與用法JS
- Python中threading的join和setDaemon的區別及用法[例子]Pythonthread
- Linux中“>”和“>>”的區別Linux
- Python中none和null的區別詳解!PythonNoneNull
- Linq中 AsQueryable(), AsEnumerable()和ToList()的區別和用法
- C++中break和continue的用法和區別C++
- button 和input 的區別及在表單form中的用法ORM
- Java 中 this 和 super 的用法詳解Java
- JQuery中html()和val()的用法區別jQueryHTML
- Mybatis中updateByPrimaryKeySelective和updateByPrimaryKey的用法區別MyBatis
- Linux中wget、yum與apt-get用法及區別Linuxwgetapt-get
- Golang make和new的區別及實現原理詳解Golang
- JRE 和 JDK 的區別詳解JDK
- 一文搞懂Session和Cookie的用法及區別SessionCookie
- python基礎(8)python中is和==的區別詳解Python
- [Python 基礎] Python 例項方法、靜態方法和類方法詳解 (包含區別和用法)Python
- 詳解SSL證書系列(8)瞭解HTTPS及和HTTP的區別HTTP
- PHP 中 bind 的用法 self 和 static 的區別PHP
- cookie和session的詳解與區別CookieSession
- select into from 和 insert into select 的用法和區別
- hive中round、floor、ceil區別及用法Hive
- Python中read()、readline()和readlines()三者間的區別和用法Python
- Python區域性函式及用法詳解Python函式
- 在Linux中,Linux核心和Shell有何區別?Linux
- SQLserver-MySQL的區別和用法ServerMySql
- Rust 中 *、&、mut、&mut、ref、ref mut 的用法和區別Rust
- Python3中*和**運算子的用法詳解!Python
- Oralce 使用SQL中的exists 和not exists 用法詳解SQL
- 詳解展示元件和容器元件的區別和應用元件
- rem與em的使用和區別詳解REM
- DeFi和CeFi的區別詳細講解
- MySQL之儲存引擎InnoDB和MyISAM的區別及底層詳解MySql儲存引擎
- Java 中 field 和 variable 區別及相關術語解釋Java
- python中 os._exit() 和 sys.exit(), exit(0)的用法和區別Python
- C#中?和??及?:的用法C#