亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

bash基礎

2024-06-28 13:24:13
字體:
來源:轉載
供稿:網友
bash基礎

1 概念

bash(sh,pdsh擴充): GNU Bourne-Again Shell

sh:Bourne Shell,編程優秀,用戶交互不便。

csh:C Shell,編程接口不如sh,用戶界面友好,與C語言語法相似。 ——>tcsh

ksh:Korn Shell,集成了sh和csh的優點,并完全兼容sh。 ——>pdsh(Public Domain Korn Shell)

zsh

2 語法2.1 變量,數據類型

變量定義:不含保留字(例如“-,*”等),不含空格。

變量的引用:賦值,for循環前不需帶$;其他情況引用變量需要帶"$"(例如,打印,運算等)。

數據類型:shell變量沒有數據類型。

shell語句:=左右不能有空格;shell語句不以”;“結尾。

2.1.1 整數運算(+-*/%):let,exPR

1)let:雙引號

例如,let "x=$x+1"

2)expr:`,空格,特殊字符前需要使用轉義符號/

例如,x=`expr $x + 4`,x=`expr $x /* 4`

【PS】不能進行浮點數運算,沒有浮點數數據類型。

【例子:算術運算,字符拼接,shell的無數據類型】

#!/bin/bash

x=2007

let "x=$x+1"

echo $x

x=`expr $x + 4`

echo $x

echo $(expr $x / 2)

x='Olmpic'$x

echo x=$x

y=12

y=`expr $y /* 2`

echo $y

2.1.2 賦值

x=200

let "x=$x+1"

x=’hello’$x

y=$(expr $x / 2)

y=`expr $y /* 2`

result=$(($result+$num))

num=$((num+1))

#result=1

num=1

result=$(($result+$num))

#num=$((num+1))

#echo $result

echo $(($a+1))

#echo $num

echo 'aaa'+$x

echo $((-123))

echo $(($z))

2.1.3 比較操作

1)-eq,-ne,-gt和-ge,-lt和-le,-z(為空),-n(非空)

2)=,!=,>(無>=),<(無<=)

【PS】

字符串比較時,盡量不用-z,而用!-n代替。

能用1)盡量不用2)。

2.1.4 按位操作

&,|

【位運算:】

ckm@bidc:~/zzhTest> echo $(expr 1 /& 0)

0

ckm@bidc:~/zzhTest> echo $(expr 1 /| 0)

1

#!/bibn/bash

if [ $str !-n ];then

echo null!!

fi

2.2 流程控制2.2.1 if條件控制

if [ expression ] ;then statements

fi

if [ expression ] ;then statements

else statements

fi

if [ expression ] ;then statements

else if [ expression ] then statements

else statements

fi

if [ expression ] ;then statements

elif [ expression ] ;then statements

else statements

fi

【PS】

若then換行,則then前無需加;。

[和]的后、前有空格。

2.2.2 case分支結構

case "$var" in

cindition1 ) statements;;

cindition2 ) statements;;

...

* ) statements;;

esac

2.2.3 for循環

for var in [ list ];do

statements

done

【PS】

var 變量的引用不使用$。

<list>的元素用空格分隔。

2.2.4 while循環

while [ condition ]

do

statements

done

2.2.5 until循環

until [ condition ]

do

statements

done

2.2.6 break/continue

3 bash腳本例子【hello world】腳本的執行:hello

#!/bin/bash

#變量的使用

str='hello world'

echo $str

echo str

--執行文件

bash hello

sh hello

chmod u+x hello

hello

【linux常用命令】

vi zzhdir

#!/bin/bash

ls –a

--執行

sh zzhdir

【局部變量:局部變量的作用域(函數體內)】

#!/bin/bash

function test {

local var=world

echo $var

}

var=hello

echo $var

test

echo $var

【PS】局部變量:首次被賦值時,變量前面加上local。

【if條件:比較操作,if條件控制結構】

#!/bin/bash

a=10

if [ $a -gt 0 ]

then echo 1

else echo 2

fi

【if條件:帶參腳本】

#!/bin/bash

if [ $1 = 10 ];then echo right!

else echo wrong!

fi

--執行

sh test 123

【PS】$1用于匹配命令行的第1個參數。(bash中的保留字)

【case分支】

寫法一:

export LC_ALL=C /*區分大小寫*/

var=A

case "$var" in

[a-z] ) echo 'lowercase letter!';;

[A-Z] ) echo 'lowercase letter!';;

[0-9] ) echo 'number';;

* ) echo other character!;;

Esac

寫法二:

var=A

case "$var" in

[[:lower]] ) echo 'lowercase letter!';;

[[:upper]] ) echo 'upper letter!';;

[0-9] ) echo 'number';;

* ) echo other character!;;

esac

【for循環:無in [list]】

for var ;do

echo ok

done

--執行

sh test

sh test 1 "hello world" a

【for循環:i的作用域】循環體內部(do/done之間)

for i in $(seq 5)

do

echo $i

done

echo $i

--執行

sh test

【for循環:seq】

for i in `seq 1 5`;do

echo TEST!

done

【for循環:i的作用域】定義后的程序塊

for((i=1;i<=5;i++));do

echo $i

done

echo $i

--執行

sh test

【for循環:命令行參數】。

for param

do

echo $param

done

--執行腳本

sh test 123 456 789

【PS】未指定list,將打印所有命令行參數;當沒有命令行參數時,什么都不打印

【while循環】

num=1

result=0

while [ $num -le 3 ]

do

result=$(($result+$num))

num=$((num+1))

done

echo $result

【until循環】

num=1

result=0

until [ $num -ge 3 ]

do

result=$(($result+$num))

num=$((num+1))

done

echo $result

【break/continue】

for i in `seq 1 5`;do

if [ $i = 3 ];the

continue

else echo $i

fi

done

4 Vi編輯器

命名模式:Esc鍵,“:”英文冒號,“wq”保存退出,“q!”強制退出

插入模式:aAiIuU

刪除單詞:dw

刪除整行:dd

字符串查找:“/”正斜杠

5 相關拓展

保留字

正則

函數

輸入,輸出: >,>>,2>,1>,>&

For循環

變量的作用:整數,字符串,計數,文件屬性

次元立方


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久成人网| 亚洲黄色av网站| 日韩福利视频在线观看| 欧美日韩国产精品专区| 不卡av日日日| 最近2019免费中文字幕视频三| 亚洲成年网站在线观看| 97国产精品视频| 国产日韩欧美日韩大片| 国产黑人绿帽在线第一区| 精品国产依人香蕉在线精品| 国产精品久久久久久婷婷天堂| 久久精品视频播放| 日韩欧美亚洲综合| 亚洲肉体裸体xxxx137| 久久久久久国产精品美女| xvideos国产精品| 国产精品久久久久久一区二区| 亚洲欧美日韩一区在线| 久久精品中文字幕一区| 亚洲天堂av网| 国产精品视频一| 欧美成年人网站| 亚洲一区二区三| 亚洲欧洲激情在线| 亚洲变态欧美另类捆绑| 成人有码在线播放| 精品视频在线播放免| 日韩精品在线观看一区二区| 韩国一区二区电影| 欧美日韩亚洲天堂| 国产日韩精品视频| 91在线精品播放| 欧美洲成人男女午夜视频| 精品丝袜一区二区三区| 国产成人精品免费视频| 中文字幕亚洲国产| 狠狠色香婷婷久久亚洲精品| 亚洲嫩模很污视频| 欧美日韩精品在线观看| 国产91色在线| 亚洲精品国产品国语在线| 中文字幕不卡av| 91香蕉国产在线观看| 欧美激情一区二区三区在线视频观看| 久久久久中文字幕| 精品国产拍在线观看| 秋霞成人午夜鲁丝一区二区三区| 97色在线观看| 亚洲一区中文字幕在线观看| 日韩欧美在线播放| 欧美成在线视频| 欧美激情视频网址| 曰本色欧美视频在线| 亚洲小视频在线| 亚洲国产精品成人一区二区| www.日本久久久久com.| 日韩精品极品视频| 69久久夜色精品国产69乱青草| 亚洲人成77777在线观看网| 中文字幕日韩精品在线观看| 91精品免费视频| 国产精品偷伦视频免费观看国产| 欧美日本国产在线| 亚洲成人精品av| 毛片精品免费在线观看| 91av在线不卡| 欧美激情2020午夜免费观看| 日韩a**站在线观看| 国产精品午夜一区二区欲梦| 亚洲天堂久久av| 国产做受高潮69| 亚洲一区二区三区sesese| 国产精品18久久久久久首页狼| 日韩一区二区三区在线播放| 国产乱人伦真实精品视频| 91免费的视频在线播放| 亚洲激情视频网站| 欧美一区第一页| 国外日韩电影在线观看| 亚洲人成网站免费播放| 国产免费一区二区三区在线观看| 日韩中文字幕国产精品| 成人动漫网站在线观看| 久久69精品久久久久久久电影好| 欧美日韩第一视频| 国产精品无码专区在线观看| 欧美性xxxx| 精品二区三区线观看| 亚洲综合最新在线| 欧美综合激情网| 国产精品偷伦免费视频观看的| 久久久久国产视频| 国产精品成人播放| 亚洲第一页在线| 2019中文字幕全在线观看| 国产精品扒开腿做爽爽爽男男| 色午夜这里只有精品| 欧美一区二区三区图| 欧美国产视频日韩| 日韩精品视频免费在线观看| 日韩性xxxx爱| 亚洲人成网站在线播| 久久久久99精品久久久久| 日韩欧美aⅴ综合网站发布| 92看片淫黄大片欧美看国产片| 亚洲视频在线观看视频| 亚洲国产精品久久91精品| 色狠狠久久aa北条麻妃| 黑人巨大精品欧美一区二区免费| 亚洲欧美精品一区二区| 性欧美在线看片a免费观看| 国产亚洲精品久久久久久| 国产亚洲美女久久| 久久视频在线视频| www.亚洲一二| 国产精品极品尤物在线观看| 97国产精品视频人人做人人爱| 日韩精品视频在线播放| 国产不卡一区二区在线播放| 中文字幕在线亚洲| 亚洲人成网站777色婷婷| 97色在线播放视频| 动漫精品一区二区| 国产日韩av在线| 日本精品免费观看| 欧美性猛交xxx| 亚洲精品www久久久| 91探花福利精品国产自产在线| 国产精品久久久久久久久久久久| 亚洲国产精品99| 亚洲午夜国产成人av电影男同| 久久999免费视频| 亚洲激情国产精品| 欧美激情亚洲另类| 国产精品一区二区久久国产| 亲子乱一区二区三区电影| 国产视频福利一区| 欧美精品日韩www.p站| www.亚洲一二| 欧美日韩中文字幕在线视频| 亚洲视频在线免费观看| www.日韩.com| 欧美床上激情在线观看| 亲爱的老师9免费观看全集电视剧| 91在线免费观看网站| 秋霞午夜一区二区| 日本精品在线视频| 欧美中文字幕在线观看| 久色乳综合思思在线视频| 精品少妇v888av| 久久免费视频观看| 国产亚洲视频在线观看| 欧美性极品少妇精品网站| 91久久国产精品91久久性色| 国产精品综合不卡av| 亚洲精品aⅴ中文字幕乱码| 亚洲人成网站色ww在线| 欧美成人亚洲成人日韩成人| 在线中文字幕日韩| 国产精品香蕉av| 人妖精品videosex性欧美| 色阁综合伊人av| 亚洲jizzjizz日本少妇|