一些简单的shell脚本

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执行

猜你喜欢

转载自blog.csdn.net/weixin_40543283/article/details/85231853