新聞中心
什么是 Shell 腳本
Shell 是用戶訪問 Unix 操縱系統(tǒng)的接口。它接收用戶的輸入,然后基于該輸入執(zhí)行程序。程序執(zhí)行完后,結(jié)果會(huì)顯示在顯示器上。

堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都混凝土攪拌機(jī)小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
Shell 就是運(yùn)行指令、程序和 Shell 腳本的運(yùn)行環(huán)境。就和操作系統(tǒng)可以有很多種類一樣,Shell 也有很多種。每一種 Shell 都有其特定的指令和函數(shù)集。
Shell 提示符
提示符 $ 被稱為命令提示符。當(dāng)顯示命令提示符后,用戶就可以鍵入命令。
Shell 在用戶按 Enter 鍵后,從用戶輸入設(shè)備讀入輸入信息,它通過查看用戶輸入的第一個(gè)單詞,來獲知用戶想要執(zhí)行的命令。一個(gè)字即使字符不分割組成的字符串,一般是空格和制表符分割字。
下面是在顯示器上顯示當(dāng)前日期和時(shí)間的 date 指令的例子:
$date
Thu Jun 25 08:30:19 MST 2009用戶也可以定制自己喜歡的命令提示符,方法是改變環(huán)境變量 PS1。
Shell 類型
Unix 系統(tǒng)中有兩種主要的 shell:
- Bourne shell:如果用戶使用 bourne shell,默認(rèn)命令提示符是
$。 - C shell:如果用戶使用 bourne shell,默認(rèn)命令提示符是
%。
Bourne shell 也有如下幾種子分類:
- Bourne shell ( sh)
- Korn shell ( ksh)
- Bourne Again shell ( bash)
- POSIX shell ( sh)
C shell不同的類型如下:
- C shell ( csh)
- TENEX/TOPS C shell ( tcsh)
最初的 UNIX Shell 是 Stephen R. Bourne 在 1970 年代中期寫的。當(dāng)時(shí),他在新澤西的 AT&T 貝爾實(shí)驗(yàn)室工作。
Bourne shell是第一個(gè)出現(xiàn)在 Unix 系統(tǒng)中的 shell,因此它被稱為標(biāo)準(zhǔn)的“shell”。
Bourne shell通常是安裝在大多數(shù)版本的 Unix 中的 /bin/sh 目錄。由于這個(gè)原因,在不同版本的 Unix 上也會(huì)選擇這種 Shell 來編寫腳本。
在本教程中,我們將覆蓋 Bourne shell 中的大部分概念。
Shell 腳本
Shell 腳本的主要形式就是一系列的命令,這些命令會(huì)順序執(zhí)行。良好風(fēng)格的 Shell 會(huì)有相應(yīng)的注釋。
Shell 腳本有條件語(yǔ)句(A 大于 B)、循環(huán)語(yǔ)句、讀取文件和存儲(chǔ)數(shù)據(jù)、讀取變量且存儲(chǔ)數(shù)據(jù),當(dāng)然,Shell 腳本也包括函數(shù)。
Shell 腳本和函數(shù)都是翻譯型語(yǔ)言,所以他們并不會(huì)被編譯。
在后面的部分,我們會(huì)嘗試寫一些腳本。他們是一些寫有命令的簡(jiǎn)單文本文件。
腳本例子
假設(shè)我們創(chuàng)建一個(gè)名為 test.sh 的腳本。注意所有腳本的后綴名都必須為 .sh。假設(shè)之前,用戶已經(jīng)往里面添加了一些命令,下面就是要啟動(dòng)這個(gè)腳本。例子如下:
#!/bin/sh這個(gè)命令告訴系統(tǒng),后面的是 bourne shell它應(yīng)念成 shebang,因?yàn)?# 被稱為 hash,!稱為 bang
為了創(chuàng)建包含這些指令的腳本,用戶需要先鍵入 shebang 行,然后鍵入指令:
#!/bin/bash
pwd
ls
Shell 注釋
可以像下面一樣來為腳本添加注釋:
#!/bin/bash
# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:
pwd
ls現(xiàn)在用戶已經(jīng)保存了上述內(nèi)容,然后就可以執(zhí)行了:
$chmod +x test.sh執(zhí)行腳本方式如下:
$./test.sh這會(huì)輸出如下結(jié)果:
/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.shunix-communication.htmunix-environment.htm注意:如果想要執(zhí)行當(dāng)前目錄下的腳本,需要使用如下方式 ./program_name
擴(kuò)展的 Shell 腳本:
Shell 腳本有幾個(gè)構(gòu)造告訴 Shell 環(huán)境做什么和什么時(shí)候去做。當(dāng)然,大多數(shù)腳本比上面復(fù)雜得多。
畢竟,Shell 是一種真正的編程語(yǔ)言,它可以有變量,控制結(jié)構(gòu)等等。無論多么復(fù)雜的腳本,它仍然只是一個(gè)順序執(zhí)行的命令列表。
以下腳本使用 read 命令從鍵盤輸入并分配給變量 PERSON,最后打印 STDOUT。
#!/bin/sh
# Author : Zara Ali
# Copyright (c) Tutorialspoint.com
# Script follows here:
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"下面是運(yùn)行該腳本的例子:
$./test.sh
What is your name?
Zara Ali
Hello, Zara Ali
$ 網(wǎng)頁(yè)標(biāo)題:創(chuàng)新互聯(lián)UNIX教程:UNIX什么是Shell腳本
文章分享:http://fisionsoft.com.cn/article/djpeppi.html


咨詢
建站咨詢
