Shell腳本

Shell腳本
(打印帶顏色的:echo -e "\033[32m------------------------\033[1m")
``:執行命令shell

一、固定格式:
  腳本第一行:#!/bin/bash
  腳本第二行:# 簡介功能
  腳本第三行:# 做者編程

 

二、引用變量:$(變量名和等號之間不能有空格:name="zhangsan")
  $n:第幾個變量
  $* 與 $@ :全部變量
  $* 與 $@ 區別:
    相同點:都是引用全部參數。
    不一樣點:只有在雙引號中體現出來。假設在腳本運行時寫了三個參數 一、二、3,,則 " * " 等價於 "1 2 3"(傳遞了一個參數),而 "@" 等價於 "1" "2" "3"(傳遞了三個參數)
  $?:命令執行是否正確
  $#:共有幾個變量數組

 

三、if條件語句
  格式:
    if (表達式)
      語句一
    else
      語句二
    fi
  if判斷大小:
    num1=100
    num2=200
    if (($num1 > $num2));then
      echo "num1 > num2"
    fibash

 

四、經常使用邏輯運算符解析(使用中括號兩邊加空格)
  -f:判斷文件是否存在 eg: if [ -f filename ];then
  -d:判斷目錄是否存在 eg: if [ -d dir ];then
  -eq : 等於 -ne : 不等於 -lt : 小於 -gt : 大於 -le : 小於或等於 -ge : 大於或等於 -a : 雙方都成立(and) -o : 單方成立(or) -z : 空字符串函數

 

五、for循環格式
  for 變量 in 字符串
  do
    語句一
  done排序

 

六、case語句
  case 變量 in
    狀況1)
    語句1
    ;;
    狀況2)
    語句2
    ;;
    *   )
    其餘狀況
    ;;
  esac字符串

 

七、select 選擇語句(通常用於選擇菜單的建立,能夠配合使用PS3(固定變量)來作菜單的打印輸出信息)
  PS3="What do you like most of the open source system?"
  select i in CentOS RedHat Ubuntu
  do
    echo "Your Select System is : " $i
  Doneio

 

八、shell編程函數
  function 函數名 () {
    command1
    ……
  }for循環

 

九、Shell 數組:bash支持一維數組(不支持多維數組),而且沒有限定數組的大小。
  定義數組:在Shell中,用括號來表示數組,數組元素用"空格"符號分割開。定義數組的通常形式爲:數組名=(值1 值2 ... 值n)
  讀取數組:${數組名[下標]}
  獲取數組的長度: length=${#array_name[@]}function

十、sed(在不打開文件的狀況下添加或替換內容)Sed是一個基本的查找替換程序。能夠從標準輸入(好比命令管道)讀入文本,並將結果輸出到標準輸出(屏幕)。   sed -i 's/192/10/g' text.sh (把全部192替換爲10,不加-i是預修改,加-i 是真實修改)   sed 's/^/&id /g' text.sh (把每行開頭添加"id ")   sed '/hello/a #####' (在hello的下一行添加#####,/i 是在hello的上一行添加#####)   sed -n '/hello/p'   cat number.txt | sed 's/ /\n/g' | grep -v "^$" | sort -nr | sed -n '1p;$p' 輸出最大和最小值(把空格換成換行,-v 去除,-nr 從大到小排序,-n 打印)

相關文章
相關標籤/搜索