1 、变量定义示例:变量名 = 变量值
#!/bin/bash
#########################
#File name:variable.sh
#Version:v1.0
#Email:admin@test.com
#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:admin@test.com
#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:admin@test.com
#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

执行结果:

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐