shell學習筆記

2021-10-23 17:34:30 字數 1648 閱讀 7487

入門**

#! /bin/bash        #選擇的直譯器

echo "hello world" #輸出

變數
#! /bin/bash 

i=0;

#錯誤寫法 i = 0; 不要加空格

echo$i;

#變數只有字串型別,引用需要加 '$'

##常用系統變數

#home

#pwd 當前目錄

#user 當前使用者

#shell 當前使用的直譯器

readonly i=5;

#唯讀變數

##特殊變數

$n#第幾個引數

#! /bin/bash

echo

$1$2

$3 執行:./my.sh 1 2 3

結果:1 2 3

$# #用於迴圈,總引數的個數

#! /bin/bash

echo

'$#'

=$#

執行:./my.sh 1 2 3 4

結果:$#=4

$*#所有引數作為整體

$@#所有引數分開來看

$?#上乙個指令碼的執行狀態 0執行完

運算子
a=5

b=5echo $[

$a+$b

] 或者 echo

$(($a+$b))

或者 expr

$a + $b

條件判斷
[ condition ]

#注意前後有空格

a=5b=5[$a

=$b]#注意空格

echo

$?結果: 0 正常

b=6echo

$?結果: 1 失敗

比較數值

-eq #等於

-lt-ne #不等於

-le-ge

-gt #大於

檢視許可權

[ -w a.sh ]

#檢視a是否有執行許可權

[ -f a.sh ]

#檢視檔案是否存在

[ -d a.sh ]

#檢視資料夾是否存在

[ -e a.sh]

#檢視是否存在

流程控制
## 想要: 192.168.100.194

## 執行:

ifconfig

|grep bcast

## 結果:

inet 192.168.100.194 netmask 255.255.255.0 broadcast 192.168.100.255

ifconfig

|grep bcast |

cut -d : -f 2 |

cut -d " " -f 1

## 結果: 192.168.100.194 #注意最後切割" " 會分成三段,第二段啥也沒有

ifconfig

|grep bcast |

cut -d : -f 2 |

cut -c 2-8 ##取出第二個到第八個

sed

awk

sort

shell 學習筆記

shell 是解釋型語言 移植性強課對應不同的直譯器 bin sh f 變數開頭以乙個字母或者下劃線,後接任意長度的字母 數字或者下劃線。命令 commod op 引數 輸入 輸出 重定向管道 echo printf 大口如小口出。特殊檔案 dev null bit bucket 刪除所有輸入的資料...

shell學習筆記

shell指令碼在linux下開發經常需要用到,shell的指令碼可以幫助使用者自動化地和作業系統進行互動,起到了提高效率的作用。學習一門語言,通常需要實戰演練編碼除錯,shell該如何除錯呢?使用bash x命令即可。vi demo.sh敲入 bin bash echo 1 echo date y...

shell學習筆記

1 shell檔案的第一行都必須是 bin sh 也可以有其他路徑,這裡我們只以這個為例 2 定義變數 a value 中間不能有空格 呼叫方法 echo a 3 shell常用的條件測試 備註 方括號兩側必須要有空格,f lt等兩側也必須要有空格 a f file 判斷 file是否是乙個檔案 b...