bash入門小結

2021-08-28 05:04:05 字數 2136 閱讀 8274

本文總結自《shell從入門到精通》

新建指令碼文字 test1.sh

#! /bin/bash

echo

"what's your name?"

read person

echo

"hello, $person"

然後依次在命令列輸入

cd /home/zhangjin/zhangjinming

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

./test.sh #執行指令碼

##1 shell指令碼的引數

#$表示命令行引數的個數

#n表示指令碼的第n個引數

##2 運算子

string1 = string2 判斷兩個字串是否相等

-z string 判斷string是否為空串

num1 -eq num2 比較num1與num2是否相等

num1 -ne num2 不等於

num1 -gt num2 大於

num1 -lt num2 小於

num1 -ge num2 大於等於

num1 -le num2 小於等於

#! /bin/bash

echo

"please enter a score:"

read score

#保證非空

if[ -z "$score"

]then

echo

"you enter nothing. please enter a score"

read score

elseif[

"$score" -lt 0 -o "$score" -gt 100 ]

then

echo

"the score should be 0~100"

read score

elseif[

"$score" -ge 90 ]

then

echo

"the grade is a"

elif

["$score" -ge 80 ]

then

echo

"the grade is b"

fifi

fi

[:punct:]:標點符號

[:lower:]:小寫字母

[:upper:]:大寫字母

[:digit:]:數字

#! /bin/bash

i=1while[[

"$i" -lt 10 ]]do

let"square=i*i"

echo

"$i*

$i=$squre"

let"i=i+1"

done

##1 元字元

str=『ls /etc | grep 「^po」』 #列出/etc目錄中的以字母po開頭的檔案

str=『ls /etc | grep 「conf$」』 #列出/etc目錄中以conf結尾的檔名

str=『ls /etc | grep 「samba.」』 #圓點.可以代替任意乙個字元

str=『ls /etc | grep 「^rc[0-9]」』 #篩選rc0、rc1、rc2等檔案

str=『grep 「o[ru]」 demo3.txt』 #在demo.txt中匹配含有字元or或ou的文字行

單行就是#

多行是

:

'被注釋內容'或者

:<<

!被注釋內容

!

out.o:add.o try1.o sub.o

gcc ./try1.o ./add.o ./sub.o -o ./out.o

try1.o: try1.c add.h

gcc -c ./try1.c

add.o:add.h add.c

gcc -c ./add.c

sub.o:sub.c sub.h

gcc -c ./sub.c

clean:

rm *.o

BASH 陣列用法小結

bash只支援一維陣列,但引數個數沒有限制。宣告乙個陣列 declare a array 其實不用宣告,按陣列方式直接賦值給變數即可,bash就知道那是陣列 陣列賦值 1 array var1 var2 var3 varn 2 array 0 var1 1 var2 2 var3 n varn 3 ...

Bash指令碼入門

新建乙個指令碼的基本流程為 注意事項 向控制台輸出hello world darr echo hello world利用乙個變數,向控制台輸出hello world darr a hello world echo a修改乙個變數的值 4種方法 darr let i 1 i i i 1 i i 1 p...

Bash程式設計入門(二)

shell程式設計很有趣,shell程式設計很複雜,shell程式設計離我們很近又似乎很遠 使用linux離不開它,但似乎又不曾仔細了解它。這套文章的目的是帶你走進shell程式設計的大門 領略它的豐富多彩。本節講解內容 本節使用的shell版本為 所有本節講解的內容,都需要你自己動手操作才能明白其...