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

首頁 > 系統 > Linux > 正文

利用shell編程實現DOS風格的Linux命令行

2024-08-27 23:57:48
字體:
來源:轉載
供稿:網友

如果你是習慣于Windows命令提示符的IT人,當你第一次使用Linux命令行時,一定會感到無所適從,你所熟悉的DOS命令再Linux中基本不存在,擺在你面前的是一大堆要記背的命令。

一種替代方案是利用強大的Linux外殼命令編寫shell腳本,讓你在Linux下也能用DOS命令,下面告訴你怎么做。

shell腳本編寫基礎

從定時備份到執行簡單命令,Linux的shell腳本可以執行各種功能,幾乎所有的程序都可以用shell腳本來運行,在腳本中甚至可以包含一些簡單的條件選擇,shell腳本的基本格式如下:

  1. #!/bin/sh 
  2. ... 
  3. Your commands here 
  4. ... 

注意文件以#!/bin/sh開始,這條語句告訴操作系統用來解釋腳本的程序位置,大多數系統會有/bin/sh目錄,因為該目錄包含root用戶的標準shell程序,在大部分系統中你也可以指定/bin/bash目錄。

每種shell的腳本都有所不同,一些shell,比如bash,支持比標準shell更多的命令,在大多數Linux版本中sh實際上就是bash。

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

  1. #!/bin/sh 
  2. cp file1 file2 
  3. mv file2 file3 
  4. echo "complete" > complete.txt 

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

  1. #!/bin/sh 
  2. cp $1 $2 

上段腳本接受2個命令行參數,第一個是要拷貝的原文件,第二個是拷貝的目標文件,運行腳本的命令格式是:./myscript file1 file2,myscript代表腳本文件名,命令行選項也可以通過這種方式傳遞,如:

  1. #!/bin/sh 
  2. cp $1 $2 $3 

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

含條件選擇的shell腳本

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

-eq —比較兩個參數是否相等(例如,if [ 2 –eq 5 ])

-ne —比較兩個參數是否不相等

-lt —參數1是否小于參數2

-le —參數1是否小于等于參數2

-gt —參數1是否大于參數2

-ge —參數1是否大于等于參數2

-f — 檢查某文件是否存在(例如,if [ -f "filename" ])

-d — 檢查目錄是否存在

幾乎所有的判斷都可以用這些比較運算符實現,腳本中常用-f命令選項在執行某一文件之前檢查它是否存在.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静安区| 天等县| 堆龙德庆县| 昭平县| 新邵县| 巫溪县| 宁南县| 巴塘县| 本溪市| 广南县| 乐山市| 衡水市| 阿坝| 合川市| 泰和县| 双桥区| 新闻| 台中县| 大名县| 眉山市| 宿松县| 朔州市| 都安| 且末县| 板桥市| 茂名市| 客服| 漯河市| 张北县| 肇庆市| 大厂| 泸溪县| 虎林市| 青河县| 九江市| 甘德县| 绥阳县| 台中县| 平乡县| 滕州市| 高雄市|