歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 借助Shell讓你在Linux下也能用DOS命令

借助Shell讓你在Linux下也能用DOS命令

日期:2017/3/3 16:42:14   编辑:關於Linux

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

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

shell腳本編寫基礎

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

#!/bin/sh
...
Your commands here
...

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

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

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

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

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

#!/bin/sh
cp $1 $2

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

#!/bin/sh
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命令選項在執 行某一文件之前檢查它是否存在。

Copyright © Linux教程網 All Rights Reserved