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 本地開發 系統上的其他...