1. 程式人生 > 實用技巧 >Shell 基礎

Shell 基礎

shell 指令碼的開頭:
  #!/bin/bash

變數:

  變數名=變數值(等號兩邊一定沒有空格

  不能以數字開頭,由字母、數字、下劃線組成

  輸出變數的內容:

    echo

    echo 變數名 --》 輸出變數名

    echo $變數名 --》 輸出變數值

1 name=jim
2 echo name   -->  name
3 echo $name  -->  jim

變數的釋放:

unset name
echo $name ---> 不會輸出內容,已經定義的name 已經被釋放

特殊變數:(帶空格)

name="j im"
echo $name   ->   j im

雙引號和單引號的區別:

name1="jim"
name2="xiaohua"
love="$name1 love $name2"
   echo love     ==> jim love xiaohua


age1='11'
age2='22'
n='$age1  $age2'
    echo n    ==> $age1 $age2

實現 賦 值 系統命令:

unset m
m=`ls`
echo $m
    ==> 公共 模板  視訊 圖片 文件 下載 音樂 桌面

練習:輸入當前的目錄

#!/bin/bash
dir=`dir`
echo $dir

執行指令碼:(./指令碼名 如果提示許可權不夠,chmod +x 指令碼名 或者 sh 指令碼名

練習:計算/etc目錄下有多少個目錄

#!/bin/bash
cd /etc  #先切換到想到計算的目錄路徑
filenumber=`ls -l | wc -l`
echo "該目錄下總共有$filenumber個檔案"

↑:改進,可以從使用者輸入的目錄檢視

  read -p “提示使用者資訊” 變數名

#!/bin/bash

read -p "請輸入想查詢的路徑:" dir
cd $dir
filenumber=`ls -l | wc -l`
echo "該目錄下總共有$filenumber
"個檔案

檔案接收引數的方式:

  $0:代表檔名

  $1:表示傳入的第一個引數

  $2:表示傳入的第二個引數

  $n:表示傳入的第n個引數

  $@:顯示全部引數

  $#:顯示引數的個數

重定向

  把內容輸出到檔案中:

  ls 1>a.txt  (覆蓋)

  

  

  ls 1>> a.txt(追加)  

  

  錯誤命令的輸出結果:

  覆蓋:

    

    

  追加: