Shell介紹及操作命令

Shell腳本

? ? 第一行必須寫? ? #!/bin/bash

? ? vim 編輯

? ? 執(zhí)行:? ? ? ? ./文件名? ? ? ? sh 文件名

? ? chmod? 777 文件名? ? ? ? 修改文件權(quán)限

定義變量規(guī)則:

變量名=值? ?

shell定義變量的規(guī)則:

1: 等號(hào)兩邊不能有空格

2:定義特殊的變量需要用單引號(hào)或者雙引號(hào)結(jié)合

3:定義linux命令需要用反單引號(hào)

區(qū)分:

雙引號(hào)中有$變量名,輸出的是變量名對(duì)應(yīng)的變量值

單引號(hào)中有$變量名,輸出的是$變量名

命名格式:腳本名稱用 . sh

腳本輸入輸出格式:

輸入語(yǔ)句用:read-p"描述"

Shell輸出值:echo$變量名

參數(shù)傳遞:

$1:接收第一個(gè)參數(shù)~~$n

$n: 文件名稱

$@: 所有參數(shù) s

$#: 參數(shù)個(gè)數(shù)? $0


比較運(yùn)算符

1比較運(yùn)算符(數(shù)字)

-eq 比較是否相等equal

-ne 比較不相等? ? ? ? ? notequal

-gt 比較大于? ? ? ? ? ? greater than

-ge? 比較大于等于? ? ? greaterequal

-lt? 比較小于? ? ? ? ? less than

-le? 比較小于等于? ? ? lessequal

2計(jì)較運(yùn)算符(字符串)

== 比較是否相等

!=? 比較不相等

加一操作 : ((i++))((i+=1))

加n操作 : s=$(($s+$i))s=$[$s+$i]((s=$s+$i))

3邏輯運(yùn)算符

-a 邏輯與 -o邏輯或 !邏輯非


if語(yǔ)句

格式: if [ 條件 ]

? ? ? ? ? ? ?then

? ? ? ? ? ? ?語(yǔ)句

? ? ? ? ? ? ?else

? ? ? ? ? ? ?語(yǔ)句

? ? ? ? ? ? ?fi

多條件:if [ 條件 ]

????????????????then

????????????????語(yǔ)句

????????????????elif [ 條件 ]

????????????????then

????????????????語(yǔ)句

????????????????......

????????????????else

????????????????語(yǔ)句

????????????????fi

case規(guī)則:

格式:case $變量名 in

????????????"值")

????????????語(yǔ)句;;

????????????"值")

????????????語(yǔ)句;;

????????????.....

????????????esac

注意:1、case這第一行以in結(jié)尾

? ??????????2、值可以是字符串也可以是數(shù)字, 如果數(shù)字范圍[0-9]?

? ??????????3、結(jié)束語(yǔ)句;;

? ??????????4、esac結(jié)束標(biāo)志


for循環(huán)

格式:for 變量 in 列表

????????????do

????????????語(yǔ)句

????????????done

數(shù)量過(guò)多時(shí)不能全列出來(lái)時(shí):

? ??for i in `seq 1 2 100`

????do

????echo $i

????done

注意:in之后的 ` 內(nèi) seq mix step max

? ??????????mix 開始數(shù)據(jù) step:間隔 max 結(jié)束數(shù)據(jù),如果step為1,可以省略,需要用反單引號(hào),seq語(yǔ)句標(biāo)志


While循環(huán)

? ? 格式:? ??while [條 件 ]

? ? ????????????????????do

? ? ????????????????????語(yǔ)句

? ? ????????????????????done

? ??注意:1、 while后面有空格

? ??????????????2、條件兩邊有空格

? ??????????????3、while條件里面存在變量,需要$,而且變量?jī)蛇呅枰p引號(hào)

? ??????????????4、done是結(jié)束標(biāo)識(shí)


Shell腳本的函數(shù)

? ? 格式:函數(shù)名(){代碼 }

????????????????調(diào)用格式

????????????????函數(shù)名

? ??函數(shù)中的參數(shù)使用$n來(lái)接收數(shù)據(jù)

? ? 函數(shù)中的返回值:Shell中函數(shù)默認(rèn)存在返回值? ? 查看返回值是$?

? ?如果沒有代碼錯(cuò)誤默認(rèn)返回值為0

? ?有代碼錯(cuò)誤返回1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容