導航:首頁 > 程序命令 > shell命令結果賦值

shell命令結果賦值

發布時間:2024-12-02 00:29:15

linux shell如何判斷上一條命令是否有輸出

可以將命令的執行結果賦值給一個變數,然後通過變數的長度來判斷是否有輸出,如下命令判斷是否有fake raid:

info=`ls/dev/mapper/isw_*`
if[-z"$info"];then
echo"findnofakeraid"
else
echo"yes,findresultis$info"
fi

這里info變數保存的是`ls /dev/mapper/isw_*`輸出結果,通過if來判斷輸出是否為空,-z判斷為空,-n判斷是非空

㈡ shell變數定義【學習總結】

簡單來說就是將需要執行的命令保存到文本中,按照順序執行。它是解釋型的,意味著不需要編譯

變數名的定義規則:
變數名嚴格區分大小寫,不能有特殊字元,不能以數字開頭,等號兩邊不能有任何空格,變數名盡量做到見名知意

1、基本方式
直接賦值給一個變數,變數名=變數值

2、命令執行結果賦值給變數

3、互動式定義變數(read)
目的: 讓用戶自己給變數賦值,比較靈活
常見選項釋義:
-p 定義提示用戶的信息
-n 定義字元數(限制變數值的長度)
-s 不顯示(不顯示用戶輸入的內容)
-t 定義超時時間,默認單位為秒(限制用戶輸入變數值的超時時間)

4、定義有類型的變數(declare)
目的: 給變數做一些限制,固定變數的類型,比如:整型、只讀
用法:declare 選項 變數名=變數值
常用選項:
-i 將變數看成整數 declare -i A=123
-r 定義只讀變數 declare -r B=hello

unset 變數名

相同點:引號中的內容可以作為一個整體
不同點:雙引號可以引用變數,單引號不能引用變數

* :匹配0個或者任意多個字元
? :任意單個字元
[a-z] :括弧內的任意單個字元
! :取反
{string,string,string} :匹配括弧裡面用逗號隔開的所有的字元串
{1..100} :匹配一個序列

案例:

1.腳本名稱 ***.sh

2.腳本內容
1)定義解析器
#!/bin/bash
#!/bin/env bash 優勢:會自動去找當前系統的解析器位置
2)注釋說明
#
3)程序本身
定義變數+基本命令+基本語法+思想

1、標准腳本執行方法 :相對路徑或者絕對路徑
前提:標准執行方式腳本必須要有 可執行許可權

2、非標準的執行方法 (不建議)
場景:查看腳本執行過程;或者腳本無法賦予可執行許可權
解析器 +腳本文件

㈢ Unix 中shell命令。結果重定向(>)和結果附加重定向(>>)有什麼區別

shell 使用三種標准 I/O 流:
stdout 是標准輸出流,顯示來自命令的輸出。它的文件描述符是 1。
stderr 是標准錯誤流,顯示來自命令的錯誤輸出。它的文件描述符是 2。
stdin 是標准輸入流,向命令提供輸入。它的文件描述符是 0。
輸入流向程序提供輸入,常常是來自終端鍵盤。輸出流列印文本字元,常常是在終端上。終端原來是 ASCII 打字機或顯示終端,但是現在常常是圖形桌面上的窗口。
對輸出進行重定向
對輸出進行重定向有兩種方法:
n>
將來自文件描述符 n 的輸出重定向到文件。必須對這個文件有寫許可權。如果文件不存在,就創建它。如果它存在,現有內容常常會丟失而沒有警告。
n>>
也將來自文件描述符 n 的輸出重定向到文件。同樣,必須對這個文件有寫許可權。如果文件不存在,就創建它。如果它存在,輸出就附加到現有文件後面。
n> 或 n>> 中的 n 是指文件描述符。如果忽略,就假設是標准輸出。清單 66 演示使用重定向將來自 ls 的標准輸出和標准錯誤分別放進兩個文件,這些文件是在 lpi103 目錄中創建的。還演示了如何將輸出附加到現有的文件中。
清單 66. 輸出重定向

㈣ 在linux系統中 用shell 或者python 運行 grep 命令 但要查找的內容是很多個 並想把結果放到一個變數中

如果多個內容是與關系,可以多個grep用管道相連,是或關系,可用正則式
如grep '\(ab|cd\)' a.txt 是查包含 ab或cd的行, grep 'ab' a.txt | grep 'cd' 是查包含ab和cd的行
要將結果賦到變數 a=`grep '\(ab|cd\)' a.txt ` 就行了
在python里就相當好辦了,用不著grep啦,字元串的find函數就行啦

閱讀全文

與shell命令結果賦值相關的資料

熱點內容
csgo命令give 瀏覽:579
戰地V怎麼開伺服器 瀏覽:571
探測ip命令 瀏覽:116
java手動異常 瀏覽:950
客戶端反編譯視頻 瀏覽:237
網路映射命令 瀏覽:793
單片機a到f循環 瀏覽:884
android應用層開發 瀏覽:197
php登錄模塊代碼 瀏覽:181
js文件注釋了會被編譯 瀏覽:360
新建的文件夾怎麼設置 瀏覽:790
發光文件夾有bug嗎 瀏覽:628
linux服務命令 瀏覽:478
命令媽媽 瀏覽:853
phpmysql完全學習手冊pdf 瀏覽:580
java計算器編程代碼 瀏覽:79
程序員一天要花多少錢 瀏覽:457
無縫鋼管計算公式app哪裡有 瀏覽:577
linux什麼是管道 瀏覽:322
php列印信息 瀏覽:768