Shell 基礎
阿新 • • 發佈:2020-07-18
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(追加)
錯誤命令的輸出結果:
覆蓋:
追加: