Shell编程及自动化运维预定义变量
Posted 资本家的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程及自动化运维预定义变量相关的知识,希望对你有一定的参考价值。
预定义变量
$0 脚本名/程序名
$* 所有的参数
$# 参数的个数
$? 上一个程序的返回值(0是成功,非零失败)
$$ 程序的PID
示例
定义脚本
[root@localhost ~]# vim avg.sh
#!/bin/bash
echo "($1+$2)/2" |bc
echo "该程序名为$0"
echo "该程序使用了 $# 个参数"
echo "该程序的参数如下: $*"
调用脚本
[root@localhost ~]# ./avg.sh 60 50
55
该程序名为./avg.sh
该程序使用了2 个参数
该程序的参数如下: 60 50
总结
- 这两类变量,在设计系统时就已经定义好了。
- 需要使用时,直接调用即可。
练习
自动创建用户并设置初始密码的脚本
#!/bin/bash
read -p "please input username: " name
useradd $name
echo "123456" | passwd --stdin $name &> /dev/null
echo "$name create finished,the password is 123456"
编写脚本,配置本地yum源
#!/bin/bash
mount /dev/cdrom /mnt &> /dev/null
rm -rf /etc/yum.repos.d/*
cat << EOF > /etc/yum.repos.d/yum.repo
[local]
name=localyum
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
[root@localhost ~]#yum repolist all
以上是关于Shell编程及自动化运维预定义变量的主要内容,如果未能解决你的问题,请参考以下文章
自动化运维必须要学的Shell脚本之——编程规范和变量详细解读