三种变量的定义方式:
- 字符串如何定义
# 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