本文總結自《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版本為 所有本節講解的內容,都需要你自己動手操作才能明白其...