shell是命令直譯器,也可以程式設計.
常用的shell有
ash,bash,ksh,csh,zch
shell中的環境變數
home:儲存註冊目錄的完整路徑名
ptath:儲存用冒號分隔的路徑路徑,shell將按此給出的順序搜尋這些目錄,查詢可執行檔案執行
term:終端型別
uid:當前使用者的標識,一串數字
pwd:絕對路徑
shell中的變數臨時變數:shell內部定義,包括自定義變數和位置變數
永久變數:就是環境變數,如$path,$lang,$shell,$ps1,$home
變數命名:字母,數字,下劃線組成,不可以數字開頭,讀變數用$.
__注:值中有空格,需要使用"",單引號不解釋其中變數,雙引號會解析其中變數__
shell中其他的預定義臨時變數$# //傳給指令碼的引數的個數
$0 //指令碼本身的名字
$@ //傳給指令碼所有引數的列表
$* //以乙個字串顯示所有向指令碼傳遞的引數
$$ // 指令碼執行當前的id號
$? //顯示上條命令的退出狀態,0表示無錯誤,其它表示有錯誤
shell指令碼編寫#! /bin/sh //在shell中#表示注釋,第一行的#!為特列,保證直譯器解釋本指令碼
time=`date` //反引號``表示會執行反引號裡的命令
echo $time //讀變數是使用$
執行shell
1.給該使用者賦予shell的執行許可權
2.使用直譯器 sh ./***x.sh
鍵盤輸入-read
#! /bin/sh
read number
echo $read
算數運算
算數運算使用expr
運算子左右需要空格,加減乘除 ,其中乘的標誌需要加轉義符,將意思轉移為本意乘
expr 3+5 //5
expr 3 + 5 //8
expr 3 / 5 //8
expr 3 \* 5 //15
expr `expr 12 - 7` / 3 //1
迴圈語句
大於 -gt (greater than)
小於 -lt (less than)
大於或等於 -ge (greater than or equal)
小於或等於 -le (less than or equal)
不相等 -ne (not equal)
if-else
#輸出三個引數最大數
#! /bin/sh
if [ $# -lt 3 ];then
echo"numbers is not correct!"
else
echo "ok!!!"
fiif [ $1 -lt $2 ];then
max=$2
else
max=$1
fiif [ $max -lt $3 ];then
max=$3
fi
echo "the max number is:$max"
while#!/bin/sh
i=1sum=0
while [ $i -lt 100 ]
do sum=`expr $sum + $i`
((i++))
done
echo $sum
for#!/bin/sh
sum=0
for i in `aeq 100`
do sum=`wxpr $sum + $i
i=`expr $i + 1`
done
echo $sum
//或sum=0
for((i=0;i<=100;i++))
do sum=`expr $xum + $i`
done
echo $sum
linux shell 程式設計
bin bash comments your commands go here 首行中的符號 告訴系統其後路徑所指定的程式bash即是解釋此指令碼檔案的shell程式。除第一行外,以 開頭的行就是注釋行,直到此行的結束。如果一行未完成,可以在行尾加上 這個符號表明下一行與此行會合併為同一行。有環境變...
linux shell 程式設計
1 程式設計入門 shell的簡介。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用者與linux作業系統溝通的橋梁。使用者既可以輸入命令執行,又可以利用 shell指令碼程式設計,完成更加複雜的操作。在linux gui日益完善的今天,在系統管理...
Linux Shell 程式設計
檔案描述 shell 代號 dev stdin 標準輸入,一般指的是鍵盤輸入 dev stdout 標準輸出,一般指終端顯示器 dev stderr 標準錯誤,一般指終端顯示器 l輸出重定向 l輸入重定向 l追加重定向 l錯誤重定向 2 l輸出和錯誤同時重定向 應用例子 1.將 ls的結果輸出到檔案...