(1)shell 腳本的本質
編譯型語言
解釋型語言
shell 腳本語言是解釋型語言
shell 腳本的本質
shell 命令的有序集合
(2)shell 編程的基本過程
基本過程分為三步:
step1. 建立 shell 文件
包含任意多行操作系統命令或 shell 命令的文本文件;
step2. 賦予 shell 文件執(zhí)行權限
用 chmod 命令修改權限;
step3. 執(zhí)行 shell 文件
直接在命令行上調用 shell 程序.
(3)實例
step1: 建立 shell 文件 (可用任何建立文本文件的方法)
$ cat prog1.sh
date
Step2: 賦予執(zhí)行權限: (初始文本文件無執(zhí)行權限)
$ chmod 740 prog1.sh
Step3: 執(zhí)行該 shell 程序
$ prog1.sh
prog1.sh: not found
(shell 在標準搜索路徑中找不到 prog1.sh) Step4: 指定路徑或修改環(huán)境變量 PATH 后執(zhí)行 shell 程序
$ ./prog1.sh
2009 年 12 月 16 日 星期二 14:52:57 CST
【2】shell 變量
(1)shell 變量
shell 允許用戶建立變量存儲數據,但不支持數據類型(整型、字符、浮點型),將任何賦給變量的值都解釋為一串字符
Variable=value
a. count=1
b. echo $count
c. DATE=`date`
d. echo $DATE
(2) Bourne Shell 有如下四種變量:
1) 用戶自定義變量
2) 位置變量即命令行參數
3) 預定義變量
4) 環(huán)境變量
(3) 用戶自定義變量
1) 在 shell 編程中通常使用全大寫變量,方便識別 $ COUNT=1
2) 變量的調用:在變量前加$
$ echo $HOME
3) Linux Shell/bash 從右向左賦值 $Y=y
$ X=$Y
$ echo $X y
4) 使用 unset 命令刪除變量的賦值 $ Z=hello
$ echo $Z hello
$ unset Z $ echo $Z
(4) 位置變量
$0 與鍵入的命令行一樣,包含腳本文件名
$1,$2,……$9 分別包含第一個到第九個命令行參數
$# 包含命令行參數的個數
$@ 包含所有命令行參數:“$1,$2,……$9”
$? 包含前一個命令的退出狀態(tài)
$* 包含所有命令行參數:“$1,$2,……$9”
$$ 包含正在執(zhí)行進程的 ID 號
(5) 常用 shell 環(huán)境變量
HOME: /etc/passwd 文件中列出的用戶主目錄
IFS:Internal Field Separator, 默認為空格,tab 及換行符
PATH :shell 搜索路徑
PS1,PS2:默認提示符($)及換行提示符(>)
TERM:終端類型,常用的有 vt100,ansi,vt200,xterm 等