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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

shell脚本的简单学习

發布時間:2025/3/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本的简单学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是shell?

shell是用戶使用linux的工具,它有兩種執行方式,一種是交互式解釋執行,我們平時操作linux的各種命令就屬于這種。另一種是批處理的方式,類似于程序性語言,有變量和參數,具有流程控制結構。

shell中的變量

我們可以在shell中定義一個變量,并賦值,正如其它語言一樣。

  • env #顯示全局變量(系統變量)
  • set #顯示所有變量
  • unset + 變量名 #刪除一個變量。
  • echo $變量 # 打印變量的值
  • export 變量 # 把變量聲明為全局變量(即在當前終端開一個子bash或新開終端,通過export 變量,可以讓變量繼續生效)
  • 修改環境變量PATH: 編輯系統文件/etc/profile,將python的路徑加入PATH全局變量,保存退出。
  • {}聲明變量的邊界

shell中的運算符(( )):

  • 算術運算符:+、-、*、/、%
  • 賦值運算符:=、+=、*=、/=、%= 例子:



  • 關系運算符:
    • ==、>、>=、<、<= 例子:

    • &&邏輯與、||邏輯或、!=邏輯非 例子:

  • bc 計算器,支持浮點數運算

test測試命令:

  • (()) 常用于數字之間的關系運算,但是有很大的局限性。而test命令適用于各種情況,應用更方便。
  • test -n 'abc' # 測試字符串abc的長度是否為零,如果不為零,那么測試結果為真0;如果是空字符,那么為假1
  • [? ] 我們習慣用兩個中括號來代替test命令。注意:中括號內的首位打空格。測試字符串長度不為零,用[? ]表達
  • test / [? ] 命令測試字符常用的選項:
    • -n #字符串長度不為零
    • -z #字符串長度為零
    • = #字符串是否相等
    • != #字符串不相等
  • test / [? ]:-a邏輯與、-o邏輯或
  • test / [? ] 測試數字常用選項:
    • ?-eq #整數相等
    • -ge #大于等于
    • -le #小于等于
    • -gt #大于
    • -lt #小于
    • -ne #不等于
  • test / [? ] 測試文件類型:
    • -b #判斷文件是塊設備
    • -d #判斷文件是目錄
    • -f #判斷文件是普通文件
    • -h #判斷文件是普通文件
  • 例子:
    • 用戶認證
    • 判斷塊設備
    • 判斷目錄



shell流程控制:

  • if...fi:寫一個判斷登錄是否成功的腳本
    注意:如果腳本無法執行,chmod +x 腳本 修改權限
  • if...elif...else...fi 判斷文件類型,多個分支條件:


  • while ...do...done 循環:


    sleep 1 暫停1秒;第10次不滿足,done結束;done下面可以跟下一條命令
  • 循環猜年齡:
  • 判斷登錄用戶,登錄成功后執行命令:


  • for循環:
    • C語言風格,例子:打印乘法表

      控制打印格式:-n 當前行不換行打印,echo 空 換行
    • shell格式:

    • 實戰:測試哪些ip地址可用

      每次ping會輸出一長串提示信息,所以通過 &> /dev/null 把提示信息寫入空文件;
      ping成功了輸出提示,并寫入一個文檔記錄下來。
    • 檢測/dev下各種類型的文件數量
      for后面跟的有結果就行,比如:

      輸出/test目錄下的文件
      另外,相對路徑不能被判斷文件類型的條件檢測到,所以要寫絕對路徑。


      注意: 如果鏈接文件的判斷條件在普通文件之下,那么,在if判斷普通文件時,回去尋找連接文件的源文件類型,如果源文件是普通文件,那么算作普通文件,稍后之后的鏈接文件就不會再判斷了,為0. 因為if判斷過的文件不會再去重復判斷。 除非把鏈接文件的判斷條件放在前面。

總結

以上是生活随笔為你收集整理的shell脚本的简单学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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