1、变量定义示例:变量名=变量值
#!/bin/bash
#########################
#File name:variable.sh
#Version:v1.0
#Email:[email protected]
#Created time:2022-08-26 19:57:02
#Description:
#########################
#定义变量
a=1
b="shell"
c="hello shelli"
#定义备份路径
bak_dir=/data/backup
#把一个命令的结果赋值给变量
变量名=`ls`
变量名=$(ls)
注意:
(1) “=”前后不能有空格
(2) 字符串类型建议用引号括起来,尤其是特殊字符或有空格
引用变量:$变量名或者${变量名}
查看变量:echo $变量名,set(可查看所有变量:包括自定义变量和环境变量),env显示全局变量,
declare输出所有的变量、函数、整数和已经导出的变量。
取消变量:unset 变量名
作用范围:仅在当前shell中有效
2、位置参数和预定义变量
$#
命令行参数的个数
$n
表示传递给脚本的第n个参数,例如$1表示第一个参数,$2表示第二个参数,$3表示第三
个参数
$0
当前脚本的名称
$*
以"参数1 参数2 参数3…"的形式返回所有参数的值
$@
以“参数1”“参数2”“参数3”…的形式返回所有的值
$?
前一个命令或者函数的返回状态码。$?的返回值用法:
1)判断命令、脚本或函数等程序
是否执行成功
2)若在脚本中调用执行“exit 数字”,则会返回这个数字给“$?”变量
3)如 果是在函数里,则通过“return 数字”把这个数字以函数值的形式传给“$?”
$$
返回本程序的进程ID(PID),不常用
$!
获取上一个在后台工作的进程的进程号,不常用
$_
保存之前执行的命令的最后一个参数,不常用
#!/bin/bash
#########################
#File name:param.sh
#Version:v1.0
#Email:[email protected]
#Created time:2022-08-26 17:18:19
#Description:
#########################
echo "第一个位置参数是$1"
echo "第2个位置参数是$2"
echo "所有参数是$*"
echo "所有参数是$@"
echo "参数的个数是$#"
echo "当前进程的PID是$$"
执行结果:
编写脚本使用判断IP地址是否ping通
#!/bin/bash
#########################
#File name:ping.sh
#Version:v1.0
#Email:[email protected]
#Created time:2022-08-26 17:24:58
#Description:
#########################
ping -c2 $1 &> /dev/null
if [ $? = 0 ];then
echo "host $1 is ok"
else
echo "host $1 is fail"
fi
执行结果:
版权归原作者 司夜寒的夏天 所有, 如有侵权,请联系我们删除。