天天看點

Shell

三種變量的定義方式:

  1. 字元串如何定義

# wujie="is a good boy"

# echo $wujie

is a good boy

# wujie='data'

data

  1. 數字如何定義

20

  1. 指令如何定義

# 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