shell編程:
shell既是一種命令語言铡俐,又是一種程序設(shè)計語言凰兑。
bash 內(nèi)定的shell
行命令擴充 \
shell 腳本的運行方法
(1) ./ 文件名
(2)bash 文件名
(3)export PASH=當前路徑:PATH
文件名
編寫一個簡單的腳本文件:
#!/bin/bash
echo " this is a file name is $0;"*
echo "welcome to read it ."
shell程序的位置參數(shù)與腳本
(1)bash 變量不需要聲明,默認情況下變量被看做是字符串
位置參數(shù)是指由系統(tǒng)提供的參數(shù)
$0表示程序的名字审丘,
$1表示傳遞給程序的第一個參數(shù)吏够,以此類推($2$3$4$5)
$# :傳遞給程序的總的參數(shù)數(shù)目
$* :傳遞給程序的所有參數(shù),與$@有差異
$? :shell程序在shell中退出的情況,正常退出返回0锅知,反之為非0值(shell程序的退出狀態(tài)取決于它的最后一條命令的退出狀態(tài))
$$:shell腳本進程ID號
$! :最后一次后臺進程的ID號
shell變量
$HOME:當前用戶目錄
$PASH: 搜索目錄鏈表播急,以冒號分割
$PS1: 命令提示符 普通用戶$ root 用戶 #
$PS2:二級提示符,提示后續(xù)輸入
$IFS 內(nèi)部域分隔符
變量聲明:
declare [options] [name[=value]]
typeset [options] [name[=value]]
常用選項options:
-a 聲明一個數(shù)組
-f 聲明一個函數(shù)
-i 聲明一個整數(shù)
-r 聲明只讀變量
-x 全局變量(可以被子進程訪問到)
查看變量: set | grep name
刪除變量: unset name
變量引用:$ name
shell 中的雙引號售睹、單引號桩警、反斜線的使用
單引號:用單引號將值括起來,則不允許對括號中的變量進行替換昌妹,且不做shell解釋捶枢,即屏蔽了括號中特殊字符的含義
反斜線(\):去除某些字符(如$)的特殊含義并按照字面意思處理
控制結(jié)構(gòu)語句:
if a then b fi
if a then b else c fi
if a then b elif a2 then c else d fi
for語句語法:
for variable [in argument-list] // i in
do
command-list
done
while語句
while expression :表示無限循環(huán)
do
command-list
done
until語句
until expression //直到條件為真時退出循環(huán)體
do
command-list
done
case語句
case variable in
pattern1) command-list1
;;
pattern2) command-list2
;;
…
patternN) command-listN
;;
esac