shell变量的定义
(2) 字符串类型建议用引号括起来,尤其是特殊字符或有空格。(可查看所有变量:包括自定义变量和环境变量),输出所有的变量、函数、整数和已经导出的变量。3)如 果是在函数里,则通过“return。获取上一个在后台工作的进程的进程号,不常用。保存之前执行的命令的最后一个参数,不常用。前一个命令或者函数的返回状态码。1)判断命令、脚本或函数等程序。把这个数字以函数值的形式传给。2、位置参数和预定义变量。
·
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
执行结果:
更多推荐
已为社区贡献2条内容
所有评论(0)