shell定義:
shell是命令解析器,將使用者的輸入的指令轉化為機器可以執行的程式。
和c語言不同,指令碼有自己的語法。
比較常用的格式是:#!/bin/bash或者#!/bin/sh
如:這是乙個判斷輸入字元型別的程式
#!/bin/bash
read key
case "$" in
[a-z]) echo "upperletter";;
[a-z]) echo "lowerletter";;
[0-9]) echo "number";;
*) echo "error";;
esac
終端[root@localhost c]# ./case.sh
tupperletter
如:#!/bin/bash
tmp="hello"
#echo="helloworld"
#echo $tmp
#echo $1 ($1$2對應終端./檔名.sh後面的參量)
#echo $2 (echo作為輸出函式)
#echo $3
#echo $* (所有引數輸入)
#echo $#
for dir in $1 $2 $3 $4 $5 (dir依次等於$1$2等)
domkdir $dir (建立乙個dir對應參量的目錄)
cd $dir (進入目錄)
touch $dir (建立dir對應參量同名的檔案)
echo "hello $dir">$dir (將hello賦給dir)
cd .. (退出目錄)
done (結束)
終端輸入:
[root@localhost c]# ./shell.sh 11 22
[root@localhost c]# ls
11 a1 author: const.c hello hello.sh if.c moshou pash quyu scanf.c sizeof strlen strlen.c.c switch.c
22 a.out case.sh file hello.c if jisuan.c moshou.c pash.sh quyu.c shell.sh sizeof.c strlen.c switch
[root@localhost 22]# ./22
bash: ./22: 許可權不夠
[root@localhost 22]# chmod 777 22
[root@localhost 22]# cat 22 (顯示檔案22中的內容)
hello 22 (說明hello新增成功)
例:#!/bin/bash
path=$1
if [ -z $path ]; then (判斷是否為空)
echo "error"
exit (退出程式)
fiif [ -d $path ]; then (判斷是否為乙個目錄)
echo "dir"
elif [ -f $path ]; then (判斷是否為乙個檔案)
echo "file"
fi在終端輸入:
[root@localhost c]# ls
11 a1 author: const.c hello hello.sh if.c moshou pash quyu scanf.c sizeof strlen strlen.c.c switch.c
22 a.out case.sh file hello.c if jisuan.c moshou.c pash.sh quyu.c shell.sh sizeof.c strlen.c switch
[root@localhost c]# ./pash.sh if (判斷if的屬性)
file
例:用指令碼寫c語言程式
#!/bin/bash
file="hello.c"
target="hello"
#echo "#include " >$file (#在指令碼裡起到注釋作用)
#echo "int main()" >>$file
#echo "" >>$file
cat > $file <
int main()
gcc $file -o $target
./$target
shell指令碼基礎
執行shell指令碼有兩種方法 1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.s...
Shell指令碼基礎
1 shell是使用者與核心進行互動操作的一種介面,目前最流行的shell稱為bash shell 2 shell也是一門程式語言 解釋型的程式語言 即shell指令碼 3 乙個系統可以存在多個shell,可以通過cat etc shells命令檢視系統中安裝的shell,不同的shell可能支援的...
shell 指令碼基礎
bin bash 判斷172.40.51.0網段有多少是開關機狀態 x 0y 0 for i inseq 254 doping c1 i0.1 w1 172.40.51.i if eq 0 then echo 172.40.51.i is up let x else echo 172.40.51.i...