Shell编程及自动化运维预定义变量

博观而约取,厚积而薄发。这篇文章主要讲述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"

【Shell编程及自动化运维预定义变量】

编写脚本,配置本地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



    推荐阅读