Bash指令碼編寫

2022-10-08 18:39:11 字數 1944 閱讀 5530

read命令是用於從終端或者檔案中讀取輸入的內部命令

讀取整行輸入

每行末尾的換行符不被讀入

read命令的使用

從標準輸入讀取輸入並賦值給變數

read var

從標準輸入讀取多個內容

read var1 var2 var3

不指定變數(預設賦值給reply)

read

指令碼引數傳遞

$0指令碼名稱

$1-$n獲取引數

$#傳遞到指令碼的引數個數

$$ 指令碼執行的當前程序id號

$* 以乙個單字串顯示所有向指令碼傳遞的引數

$? 顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表示有錯誤

a=10 b=20

+ 加法 『expr $a+$b』 =30

-  減法 『expr $a-$b』 =-10

* 乘法  『expr $a\*$b』 =200

/ 除法 『expr $b/$a』=2

% 取餘 『expr  $b % $a』 結果為10

= 賦值 a=$b 將把變數b 的值賦給a

==相等 相同則返回true;[ $a==$b ] 返回false

!=不相等 不相同則返回true;[ $a != $b ]返回false

-eq 檢測相等[ $a –eq $b ] 返回false

-ne 檢測不相等[ $a –ne $b ] 返回true

-gt 檢測左邊是否大於右邊 [ $a –gt $b ] 返回false

-lt 檢測左邊是否小於右邊 [$a –lt $b ],返回true

-ge 檢測左邊是否大於等於右邊[ $a –ge $b ],返回false

-le 檢測左邊是否小於等於右邊[ $a –le $b ],返回true

建立目錄並生成檔案

mkdir test

cd test

echo 「hell0」>test.txt

lsbash與記憶體

for i in 『ps aux|awk』』 |grep –v 『rss』

count=$[$count++$i]

echo=」$count/kb」

練習:檔案引數傳遞

在test.sh中輸入下列內容

執行chmod +x ./test.sh #使指令碼具有執行許可權

./test.sh #執行指令碼

執行命令:bash test.sh 11 22 33 結果:

練習:基本運算(`是tab上面那個鍵 波浪線那個鍵)

a=10

b=20

echo `expr $a + $b`

echo `expr $a - $b`

echo `expr $a \* $b`

echo `expr $a / $b`

echo `expr $a % $b`

執行 bash test.sh

說明:可以直接在命令列輸出,也可以儲存檔案輸出,運算子和變數直接必須要有乙個空格不然會報錯 乘號之前需要轉義,不然也會報錯

練習:判斷

if [ $a == $b ]; then echo "big";fi(注意空格)

ps  -aux | awk 『』 取出第三行

ps  -aux | awk 『』 | grep –v %cpu 去掉%cpu

Linux中高效編寫Bash指令碼的10個技巧

shell 指令碼程式設計 是你在 linux 下學習或練習程式設計的最簡單的方式。尤其對 系統管理員要處理著自動化任務,且要開發新的簡單的實用程式或工具等 這裡只是僅舉幾例 更是必備技能。本文中,我們將分享 10 個寫出高效可靠的 bash 指令碼的實用技巧,它們包括 1 指令碼中多寫注釋 這是不...

bash 指令碼筆記

輸入了什麼引數 輸入了多少個引數 1輸入的第乙個引數,依此類推,直到 9 上一次的執行結果 為 1 2 3 一起被引號包住 為 1 2 3 分別被包住 為3 引數數量 d target target 是否是 目錄 f target 是否是檔案 e target 是否存在 目錄和檔案都適用 x tar...

bash指令碼基礎

shell 指令碼 一 如何建立新shell指令碼?1.建立包含bash命令的文字檔案。檔案第一行應為 bin bash 2.使檔案可執行 使用chmod x scripts 3.將檔案放置在使用者的 path的目錄中 bin 用於使用者的私有程式 usr local bin 本地開發 系統上的其他...