三種變量的定義方式:
- 字元串如何定義
# wujie="is a good boy"
# echo $wujie
is a good boy
# wujie='data'
data
- 數字如何定義
20
- 指令如何定義
# wujie=`date`
Sat Sep 4 03:47:23 EDT 2021
# wujie=$(date)
Sat Sep 4 03:57:45 EDT 2021
shell腳本的重要位置參數
$0 #腳本的名稱,全路徑執行,則擷取的是全路徑名稱
# cat wujie.sh
#!/bin/bash
wujie=test
echo ${wujie} is ok
echo $0
# sh wujie.sh
test is ok
wujie.sh
# sh /root/wujie.sh
/root/wujie.sh
$n # 腳本的第n個參數
$# 腳本傳參的總個數
$* #擷取傳參的所有參數,如果不加雙引号和$@相同,如果加上雙引号,擷取的是一個整體
$@ #擷取傳參的所有參數,如果不加雙引号和$*相同,如果加上雙引号,則擷取的為單個參數
$? #上一條指令的執行結果,0為成功,非0失敗
$$ #擷取腳本的PID,當系統執行多個shell腳本時使用
$ ! #擷取上一個腳本的PID
$_ #擷取上一個腳本的最後一個參數
shell變量傳參
read -p
read -p "please input num: " a
echo $a
read -t 5 -p "please input num: " a
不輸入 -t 5 // 5秒自動退出
# 第一種變量傳參
read -p "please input num: " a b
echo $a $b
# 第二種變量傳參
c=$1
d=$2
echo $c $d
# sh wujie.sh 1 2
please input num: a b
a b
1 2
# 第三種變量傳參
echo $1 $2