国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行

2024-07-26 00:28:18
字體:
供稿:網(wǎng)友

    如果你是習(xí)慣于Windows命令提示符的IT人,當(dāng)你第一次使用linux命令行時(shí),一定會(huì)感到無所適從。你所熟悉的DOS命令再Linux中基本不存在。擺在你面前的是一大堆要記背的命令。
 
一種替代方案是利用強(qiáng)大的Linux外殼命令編寫shell腳本,讓你在Linux下也能用DOS命令。下面告訴你怎么做。

shell腳本編寫基礎(chǔ)
    從定時(shí)備份到執(zhí)行簡單命令,Linux的shell腳本可以執(zhí)行各種功能。幾乎所有的程序都可以用shell腳本來運(yùn)行。在腳本中甚至可以包含一些簡單的條件選擇。shell腳本的基本格式如下:

#!/bin/sh

...

Your commands here

...

    注意文件以#!/bin/sh開始。這條語句告訴操作系統(tǒng)用來解釋腳本的程序位置。大多數(shù)系統(tǒng)會(huì)有/bin/sh目錄,因?yàn)樵撃夸洶瑀oot用戶的標(biāo)準(zhǔn)shell程序。在大部分系統(tǒng)中你也可以指定/bin/bash目錄。

每種shell的腳本都有所不同。一些shell,比如bash,支持比標(biāo)準(zhǔn)shell更多的命令。在大多數(shù)Linux版本中sh實(shí)際上就是bash。

從腳本運(yùn)行命令十分簡單,很像在Windows DOS提示符下運(yùn)行命令。舉個(gè)例子,通過下面這段語句可以拷貝文件:

#!/bin/sh

cp file1 file2

mv file2 file3

echo "complete" > complete.txt

    自動(dòng)執(zhí)行命令對那些不需人工干預(yù)的任務(wù)很有用,但對一般用戶來說并不那么有用。為此,shell腳本在執(zhí)行過程中允許用戶輸入命令行參數(shù),然后利用輸入的參數(shù)運(yùn)行命令。腳本中輸入?yún)?shù)用$1到$9表示。如果你曾寫過DOS批處理文件,你會(huì)發(fā)現(xiàn)批處理文件中也有類似功能,只是它用的是%1、%2等來代表輸入?yún)?shù)。下面舉例來說怎樣使用命令行參數(shù):

 
 
#!/bin/sh

cp $1 $2

    上段腳本接受2個(gè)命令行參數(shù),第一個(gè)是要拷貝的原文件,第二個(gè)是拷貝的目標(biāo)文件。運(yùn)行腳本的命令格式是:./myscript file1 file2,myscript代表腳本文件名。命令行選項(xiàng)也可以通過這種方式傳遞,如:

#!/bin/sh

cp $1 $2 $3

    鍵入./copy –r sourcedir destdir形式的命令執(zhí)行上段腳本,即可遞歸拷貝$2目錄下所有文件到$3目錄下。選項(xiàng)$1為-r時(shí)能讓cp命令遞歸拷貝所有文件。

含條件選擇的shell腳本
    對于不含變量的任務(wù)簡單shell腳本一般能勝任。但在執(zhí)行一些決策任務(wù)時(shí),就需要包含if/then的條件判斷了。shell腳本編程支持此類運(yùn)算,包括比較運(yùn)算、判斷文件是否存在等。基本的if條件命令選項(xiàng)有:

-eq —比較兩個(gè)參數(shù)是否相等(例如,if [ 2 –eq 5 ])
-ne —比較兩個(gè)參數(shù)是否不相等
-lt —參數(shù)1是否小于參數(shù)2
-le —參數(shù)1是否小于等于參數(shù)2
-gt —參數(shù)1是否大于參數(shù)2
-ge —參數(shù)1是否大于等于參數(shù)2
-f — 檢查某文件是否存在(例如,if [ -f "filename" ])
-d — 檢查目錄是否存在
幾乎所有的判斷都可以用這些比較運(yùn)算符實(shí)現(xiàn)。腳本中常用-f命令選項(xiàng)在執(zhí)行某一文件之前檢查它是否存在。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 申扎县| 盈江县| 屯昌县| 柯坪县| 井冈山市| 纳雍县| 罗定市| 三亚市| 寻甸| 彭山县| 定日县| 弋阳县| 洛南县| 海南省| 抚顺市| 什邡市| 昌平区| 沾化县| 云霄县| 策勒县| 江门市| 蓝田县| 苍梧县| 隆昌县| 巴楚县| 北安市| 新巴尔虎右旗| 内黄县| 社会| 浙江省| 合作市| 宁城县| 扎赉特旗| 无极县| 澎湖县| 霸州市| 鹿邑县| 监利县| 永城市| 潍坊市| 怀来县|