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编程及自动化运维(5)预定义变量_linux

以上是关于Shell编程及自动化运维预定义变量的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维必须要学的Shell脚本之——编程规范和变量详细解读

shell脚本介绍结构和执行变量及date命令用法

Shell编程及自动化运维流程控制:if

Shell脚本编程规范与变量

Ansible自动化运维之playbook详解(含yaml介绍)及ansible的加密控制

Linux运维都要会哪些shell编程技能?