日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SHELL编程一二三

發布時間:2024/4/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SHELL编程一二三 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

???? 在Linux系統中,shell是個很靈活的工具。Shell不但是命令的集合,而且是一個很好的編程語言。我們可以通過使用shell使大量的任務自動化,shell還特別擅長系統管理任務,尤其適合那些易用性、可維護性和便捷性比效率更重要的一些任務。

??? Linux中有好多種不同的shell,但是通常我們使用bash來進行shell編程。下面我們首先來看一個SHELL小程序,通過分析來初步認識SHELL編程。
?

shell腳本示例:(求1到100的和)

#vi? qiuhe.sh

#!/bin/sh??????????????????? # 符號#!用來告訴系統他后面的參數是用來執行該文檔的程式

a=1?????????????????????????? #定義變量
sum=0
while [ $a -le 100 ]????????? ?#while循環,其中-le的意思是小于或等于
do
((sum=sum+a))
((a=a+1))
done
echo $sum

編寫完wq保存退出。 #chmod? +x? qiuhe.sh? (添加可執行權限)
幾種關系運算符附圖參考:

具體執行腳本時,可以使用如下兩種方法,附圖參考
? 這個求和也可以通過一句話來實現 #echo |awk '{for (i=1;i<=100;i=i+1) a=a+i} { print a}' 二、SHELL中常見命令和流程控制 1、在shell腳本中使用的常見命令 常用命令語法及功能

  echo "some text": 將文字內容打印在屏幕上

  ls: 文檔列表

  wc –l filewc -w filewc -c file: 計算文檔行數計算文檔中的單詞數計算文檔中的字符數

  cp sourcefile destfile: 文檔拷貝

  mv oldname newname : 重命名文檔或移動文檔

  rm file: 刪除文檔

  grep 'pattern' file: 在文檔內搜索字符串?? 比如:grep 'aaa' file.txt Sed是個基本的查找替換程式。awk 用來從文本文檔中提取字段。具體使用可參見相關資料,在此不展開了。 2、SHELL的流程控制 ????? 和其他高級程序設計語言一樣,Shell提供了用來控制程序執行流程的命令,包括條件分支和循環結構,用戶可以用這些命令創建非常復雜的程序。 ?? if條件語句:Shell程序中的條件分支是通過if條件語句來實現的,其一般格式為:

if 條件命令串

then

條件為真時的命令串

else

條件為假時的命令串

fi

for循環:for循環對一個變量的可能的值都執行一個命令序列。賦給變量的幾個數值既可以在程序內以數值列表的形式提供,也可以在程序以外以位置參數的形式提供。for循環的一般格式為:

for變量名    [in數值列表]

do

若干個命令行

done

變量名可以是用戶選擇的任何字串,如果變量名是var,則在in之后給出的數值將順序替換循環命令列表中的$var。如果省略了in,則變量var的取值將是位置參數。對變量的每一個可能的賦值都將執行do和done之間的命令列表。

while和until循環:while和until命令都是用命令的返回狀態值來控制循環的。While循環的一般格式為:

while

若干個命令行1

do

若干個命令行2

done

只要while的“若干個命令行1”中最后一個命令的返回狀態為真,while循環就繼續執行do...done之間的“若干個命令行2”。

until命令是另一種循環結構,它和while命令相似,其格式如下:

until

若干個命令行1

do

若干個命令行2

done

until循環和while循環的區別在于:while循環在條件為真時繼續執行循環,而until則是在條件為假時繼續執行循環。

三、SHELL程序的調試

  在編程過程中難免會出錯,有的時候,調試程序比編寫程序花費的時間還要多,shell程序同樣如此。

  shell程序的調試主要是利用bash命令解釋程序的選擇項。調用bash的形式是:

  bash(sh)? -選擇項 shell程序文件名

  幾個常用的選擇項是:

  -e:如果一個命令失敗就立即退出

  -n:讀入命令檢查語法是否有錯誤但是不執行它們

  -u:置換時把未設置的變量看作出錯

  -v:讀入shell輸入行并把它們顯示出來

  -x:執行命令時把命令和它們的參數顯示出來

  上面的所有選項也可以在shell程序內部用“set -選擇項”的形式引用,而“set +選擇項”則將禁止該選擇項起作用。如果只想對程序的某一部分使用某些選擇項時,則可以將該部分用上面兩個語句包圍起來。

  1.未置變量退出和立即退出

  未置變量退出特性允許用戶對所有變量進行檢查,如果引用了一個未賦值的變量就終止shell程序的執行。shell通常允許未置變量的使用,在這種情況下,變量的值為空。如果設置了未置變量退出選擇項,則一旦使用了未置變量就顯示錯誤信息,并終止程序的運行。未置變量退出選擇項為“-u”。

  當shell運行時,若遇到不存在或不可執行的命令、重定向失敗或命令非正常結束等情況時,如果未經重新定向,該出錯信息會打印在終端屏幕上,而shell程序仍將繼續執行。要想在錯誤發生時迫使shell程序立即結束,可以使用“-e”選項將shell程序的執行立即終止。

  2.shell程序的跟蹤

  調試shell程序的主要方法是利用shell命令解釋程序的“-v”或“-x”選項來跟蹤程序的執行?!?v”選擇項使shell在執行程序的過程中,把它讀入的每一個命令行都顯示出來,而“-x”選擇項使shell在執行程序的過程中把它執行的每一個命令在行首用一個“+”加上命令名顯示出來。并把每一個變量和該變量所取的值也顯示出來。

  除了使用shell的“-v”和“-x”選擇項以外,還可以在shell程序內部采取一些輔助調試的措施。例如,可以在shell程序的一些關鍵地方使用echo命令把必要的信息顯示出來,它的作用相當于C語言中的printf語句,這樣就可以知道程序運行到什么地方及程序目前的狀態。

調試附圖參考:

??? 通過本文,希望大家對SHELL編程和調試有個基本的認識和了解。

總結

以上是生活随笔為你收集整理的SHELL编程一二三的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。