1 一个打印数字循环的FOR案例
#!/bin/bash
for i in `seq 1 5`
do
echo "the num is $i"
done
2 一个判断目录存在是否的循环案例
#!/bin/sh
if [ ! -d /data/2016 ];then
mkdir -p /data/2016
else
echo “This DIR is exist,Please exit …..”
fi
逻辑运算符解释:
-f判断文件是否存在 eg: if [ -f filename ]
-d判断目录是否存在 eg: if [ -d dir ]
-eq等于 应用于:整型比较
-ne不等于 应用于:整型比较
-lt小于 应用于:整型比较
-gt大于 应用于:整型比较
-le小于或等于 应用于:整型比较
-ge大于或等于 应用于:整型比较
-a双方都成立(and) 逻辑表达式 –a 逻辑表达式
-o单方成立(or) 逻辑表达式 –o 逻辑表达式
-z空字符串
3 找到相关log,然后批量打包为对应文件夹.tgz
#!/bin/sh
for i in `find /data -name “*.log”`
do
tar –czf $i.tgz $i
done
4 一个的配置案例数据同步的命令使用for
# cat rsync_all_receive.sh
#!/bin/bash
#receive
TIME=`/bin/date +%Y%m%d-%s`
for name in 10.0.0.3 10.0.0.4 10.0.05; do
ssh root@"$name" "[ ! -d /usr/web_bk ] && /bin/mkdir /usr/web_bk"
ssh root@"$name" "cp -a /usr/local/tomcat/webapps/www /usr/web_bk/$TIME"
if [ $? -eq 0 ];then
/usr/bin/rsync -avrl --progress --delete -e ssh --exclude=/WEB-INF/classes/application.properties --exclude=/WEB-INF/classes/applicationContext-quartz.xml --exclude=/WEB-INF/classes/applicationContext.xml /usr/local/tomcat/webapps/www/ root@"$name":/usr/local/tomcat/webapps/www/ && ssh root@"$name" "/bin/bash /root/scripts/tomcat_reboot.sh"
sleep 50
fi
done
for i in 0.152 0.154 0.156 0.158 1.151 1.153 1.155 1.157; do /usr/bin/rsync -acvP --exclude-from=/home/123/exclude.list --size-only --delete --timeout=30 --bwlimit=1500 /usr/local/nginx/456/tools.service.baidu.com/ 10.0.$i:/usr/local/nginx/baidu.com/tools.service.baidu.com/;done
5 写一个脚本,把当前目录下的目录(只需要一级)列出来。
#!/bin/bash
for f in `ls`
do
if [ -d $f ]
then
echo $f
fi
done
6 写几个随机字符数数字即可:
1046 yum search flod
1047 cat /dev/urandom |tr -dc "0-9"|fold -w 6|head -n 200
1048 cat /dev/urandom |tr -dc "0-9"|fold -w 12|head -n 200
7 [root@localhost html]# for n in `seq 10`;do echo http://172.17.0.21;sleep 3;done
http://172.17.0.21
http://172.17.0.21
8 [root@localhost html]# for n in `seq 10`;do curl http://172.17.0.21;sleep 3;done
httpdtest
httpdtest 这是http的网页内容
9 批量删除文件
ls
stu_10_1_finished.jpg stu_10_2.jpg stu_10_4_finished.jpg
vi del.sh
#!/bin/bash
for f in `ls *.jpg`
do
rm -rf $f
done