三、shell程序基礎(chǔ)
shell程序就是一個(gè)包含若干行shell或linux命令的文件。
執(zhí)行shell程序文件有3種方法:
#chmod +x file
#sh file
#.file
在編寫shell時(shí),第一行一定要指明系統(tǒng)需要哪種shell解釋自己shell程序
#!/bin/bash、#!/bin/csh、#!/bin/tcsh
1、變量表達(dá)式
格式:test conditions
字符串操作符
str1 == str2
str1 != str2
-n str
-z str
整數(shù)操作符
int1 -eq int2
int1 -ge int2
int1 -le int2
int1 -gt int2
int1 -lt int2
文件操作符
-d file
-f file
-r file
-s file
-w file
-x fiel
邏輯操作符
!expr
expr1 -a expr2
expr1 -o expr2
2、shell中的符號(hào)
1)單引號(hào):?jiǎn)我?hào)的字符作為普通字符出現(xiàn)
2)雙引號(hào):由雙引號(hào)括起來(lái)的字符,除$, \\,', "外,其余字符為普通字符。
3)反引號(hào):
1
$today=`date`
2
$echo Today is $today
3
4
Today is Mon Apr 15 16:20:13 CST 2008
5
$
4)注釋符:#
5)通配符:通配符用于模式匹配,如文件名匹配,路徑名匹配,字符串查找等。
* 匹配文件名中任何字符串,包括空格串
? 匹配文件名中的任何單個(gè)字符
[...] 匹配“[]”中所包括的任何字符
[!...] 匹配“[]”中非感嘆號(hào)“!”之后的字符
如[!0-9]表示非數(shù)字開頭的字符串
3、bash介紹
shell是一個(gè)命令語(yǔ)言解釋器。shell是用戶和linux內(nèi)核之間的接口程序。在提示符下輸入的每個(gè)命令都由shell先解釋然后傳給linux內(nèi)核。
shell在用戶成功地登陸進(jìn)入系統(tǒng)后啟動(dòng),并始終作為用戶與系統(tǒng)內(nèi)核的交互手段直至退出系統(tǒng)。系統(tǒng)上的每位用戶都有一個(gè)默認(rèn)的shell。每個(gè)用戶的shell由系統(tǒng)中的password文件指定。該文件的路徑是/etc/password
1)、bash命令概要
alias: 設(shè)置alias別名
bg: 是一個(gè)被掛起的進(jìn)程在后臺(tái)繼續(xù)進(jìn)行
cd: 改變當(dāng)前目錄
export:使變量的值對(duì)當(dāng)前shell的所有子進(jìn)程都可見
fc: 用來(lái)編輯歷史命令列表里的命令
fg: 使一個(gè)被掛機(jī)的進(jìn)程在前臺(tái)繼續(xù)進(jìn)行
help: 顯示bash內(nèi)部命令的幫助信息
kill: 終止某個(gè)進(jìn)程
pwd: 顯示當(dāng)前工作目錄
unalias:刪除已定義的別名
2)、bash變量
EDITOR、FCEDIT: bash fc命令的默認(rèn)編輯器
HISTORY: 用于存儲(chǔ)歷史命令文件
HISTSIZE: 歷史命令列表的大小
HOME: 當(dāng)前用戶的用戶目錄
OLDPWD: 前一個(gè)工作目錄
PATH bash尋找可執(zhí)行文件的搜索路徑
PS1 命令行的一級(jí)提示符
PS2 命令行的二級(jí)提示符
PWD 當(dāng)前目錄
SECONDS 當(dāng)前shell開始后所流逝的秒數(shù)
3)、輸入重定向
輸入重定向用于改變一個(gè)命令的輸入源。一些命令需要在命令行里輸入足夠的信息才能工作。
4)、輸出重定向
輸出沖定向使用戶能把一個(gè)命令的輸出重定向到一個(gè)文件里,而不是屏幕上。
5)、管道
管道可以把一系列命令連接起來(lái)。
6)、提示符
bash有兩級(jí)用戶提示符。第一級(jí)是經(jīng)常看到的bash在等待命令輸入時(shí)的提示符。
7)、把bash shell的提示符改為指定的字符串。
當(dāng)bash期待輸入更多的信息以完成命令時(shí),顯示第二級(jí)提示符。默認(rèn)的第二級(jí)提示符是>
8)、用戶化配置bash
為了保存這些用戶化配置,必須把他們保存到一個(gè)bash的初始化文件里。用戶能把任何想每次進(jìn)入bash都執(zhí)行的命令放到初始化文件建立。bash的初始化文件叫做profile。每個(gè)使用bash的用戶都有一個(gè).profile文件在他的用戶目錄。bash在每次啟動(dòng)時(shí)都讀取該文件,并執(zhí)行所有包含的命令。