在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...
如何編寫簡單的Shell腳本(Script)文件之Linux的基本操作
新建一個(gè)文本文件包含所需要的腳本。舉例,我會(huì)使用pico編輯器寫一個(gè)腳本用來運(yùn)行程序tar,帶上必要的可選項(xiàng)可以用來解壓從因特網(wǎng)下載下來的*.tar的文件(我好像總是記不住tar的所有參賽)。滑動(dòng)軸承?我決定把我的腳本名稱叫做“untar”:
pico untar
因?yàn)樵谖业漠?dāng)前工作目錄里untar文件不存在,所有pico文本編輯器自動(dòng)創(chuàng)建這個(gè)文件,現(xiàn)在,我輸入以下內(nèi)容:
#!/bin/bash
echo this is the script file $0
echo untarring the file $1
# this calls tar with options -xvzf (extract,
# verbose, filter through gzip, input filename)
tar -xvzf $1
我使用O保存這個(gè)文件,然后X退出。
腳本的第一行,以“#!”開始是特別的提示-它告訴shell應(yīng)該用哪一個(gè)程序來解釋我的腳本。在這個(gè)例子里,我使用bash shell /bin/bash。第一行必須使用“#!”開頭,否則腳本不會(huì)運(yùn)行(系統(tǒng)認(rèn)為是一個(gè)文本文件)。水泥煙囪新建?其他以“#”開始的行是注釋行只是給作者和讀者使用的,計(jì)算機(jī)將跳過這些行。
在以上腳本里,參數(shù)$0, $1, $2…是傳遞到腳本里面的參數(shù)。舉個(gè)例子,如果我運(yùn)行我的腳本名“myscript”帶七個(gè)參數(shù)如下:
myscript a b c d e f g
那么,參賽$0就是myscript, $1就是a, $2就是b,$3就是c,依此類推。
腳本的第二行和第三行,echo命令輸出所有在它后面同一行上的文本,然后擴(kuò)展在腳本里對(duì)應(yīng)的參數(shù)$0和$1。第四行和第五行是我寫的注釋文本,提醒我在這個(gè)腳本里要做的事情。只有最后一行是真正起作用的。
一旦腳本已經(jīng)寫好,我把文件屬性改成對(duì)文件擁有者是“可執(zhí)行”的:
chmod u+x untar
然后我的腳本就可以這樣運(yùn)行了:
./untar my_tar.tar.gz
Liunx腳本的確非常豐富,靈活,功能強(qiáng)勁,還可能有點(diǎn)復(fù)雜。然而,對(duì)于日常任務(wù)編寫一些簡單腳本,它并不需要什么特別高深的知識(shí)。你可以把一些要用到的命令放在一起,一個(gè)接一個(gè),輸入到文件里。活動(dòng)隔斷?我使用腳本很頻繁是因?yàn)槲姨珣辛?#xff0c;不想一次一次的輸入相同的命令。
一個(gè)最簡單的方法,可以把一組命令放在文本文件里然后使用source命令傳遞給shell讓它直接運(yùn)行:
source my_file
這個(gè)時(shí)候就不需要在文本第一行加上“#!”的標(biāo)志了。
3.4.6 引號(hào)的含義
一般來說,以下字符對(duì)于shell有特殊的含義:
\ ' " ` < > [ ] ? | ; # $ ^ & * ( ) =
這里有四種不同的符號(hào):反斜杠(\),單引號(hào)(‘),雙引號(hào)(“),反向單引號(hào)(`)。
反斜杠(\)表示:關(guān)閉后面字符的特殊含義
單引號(hào)(‘)表示:關(guān)閉在兩個(gè)單引號(hào)之間所有字符的特殊含義
雙引號(hào)(“)表示:關(guān)閉在兩個(gè)雙引號(hào)之間所有字符的特殊含義除了$ ` \
反向單引號(hào)(`)表示:告訴shell首先運(yùn)行兩個(gè)反向單引號(hào)之間的命令,生物醇油?然后把得到的結(jié)果再傳遞給兩個(gè)單引號(hào)之外的命令。同樣的功能也可以通過“$command”命令來實(shí)現(xiàn),而且可能會(huì)更方便。
舉個(gè)例子,我可以創(chuàng)建一個(gè)奇怪的目錄名叫做“*”通過使用“\”或者“’”符號(hào):
mkdir \*
mkdir ’*’
這屏蔽了“*”對(duì)于shell的特別含義。如果沒有“\”,“*”意味著當(dāng)前目錄下所有文件。
總結(jié)
以上是生活随笔為你收集整理的在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分期乐不能借款了是怎么回事?
- 下一篇: 帝国cms linux伪静态规则,帝国c