三种变量的定义方式:
- 字符串如何定义
# wujie="is a good boy"
# echo $wujie
is a good boy
# wujie='data'
# echo $wujie
data
- 数字如何定义
# echo $wujie
20
- 命令如何定义
# wujie=`date`
# echo $wujie
Sat Sep 4 03:47:23 EDT 2021
# wujie=$(date)
# echo $wujie
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
test is ok
/root/wujie.sh
$n# 脚本的第n个参数
$#脚本传参的总个数
$*#获取传参的所有参数,如果不加双引号和$@相同,如果加上双引号,获取的是一个整体
$@#获取传参的所有参数,如果不加双引号和$*相同,如果加上双引号,则获取的为单个参数
$?#上一条命令的执行结果,0为成功,非0失败
$$#获取脚本的PID,当系统执行多个shell脚本时使用
$ !#获取上一个脚本的PID
$_#获取上一个脚本的最后一个参数
shell变量传参
read -p
#!/bin/bash
read -p "please input num: " a
echo $a
#!/bin/bash
read -t 5 -p "please input num: " a
echo $a
不输入 -t 5 // 5秒自动退出
# cat wujie.sh
#!/bin/bash
# 第一种变量传参
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