1.编程第一课,输出hello world
#!/bin/bash
echo "Hello world"
2.自动清空日志
#!/bin/bash
cd /var/log
>messages
echo "Logs cleaned up..."
当然这个不是很完善,如果我们不是root用户呢,下面给出一个完善的脚本
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
if [ "$UID" -ne "$ROOT_UID" ];then
echo "Error:you should be root to run this script!"
exit 1
fi
cd $LOG_DIR || {
echo "Cannot access to directory."
exit 1
}
cat /dev/null > messages && {
echo "Logs cleaned up..."
exit 0
}
echo "logs cleaned failed..."\
exit 1
运行结果
3.启动并开机自启动httpd的脚本
#!/bin/bash
yum install httpd -y >/dev/null
systemctl start httpd
systemctl enable httpd
firewall-cmd --add-service=http >/dev/null
firewall-cmd --reload >/dev/null
echo "all done"
4.面试题
脚本如下
扫描二维码关注公众号,回复:
4638041 查看本文章
#!/bin/bash
username=`whoami`
然后执行
sh test.sh
echo $username
问题:echo $username命令的输出结果是什么?
a)当前用户
b)root
c)空(无输出)
答案是c,这是因为sh的执行方式,并不会返还值到父shell,所以输出为空,我们试着用source执行