Linux Shell流程例子
#!/bin/bash
read -p "input a dight:"
echo $REPLY
DATE=`date`
echo "DATE is ${DATE}"
USERS=`who |wc -l`
echo "LOGIN in user is ${USERS}"
UP=`date;uptime`
echo "Uptime is ${UP}"
#echo "HELLO World!"
#echo "what is your name"
#read person
#echo "HELLO ${person}"
#name="huangtao"
#echo ${name}
myUrl="http://www.baidu.com/"
#readonly myUrl
#myUrl="http://www.sina.com.cn/"
#myUrl
#unset myUrl
#echo ${myUrl}
echo "file name:$0"
echo "1st parameters:$1"
echo "2nd parameters:$2"
echo "values:$*"
echo "values:$@"
echo "pid:$$"
echo "return value:$?"
echo "Total number paramters:$#"
a=10
echo -e "value a is ${a}\n"
echo "value a is ${a}\n"
d=`date +%F`
exec >$d.log 2>&1
echo "Begin at `date`"
ls /learing
cd /log
ls /root >root.log
echo "End at `date`"
ipaddress()
{
ifconfig |grep -A1 "$1"|tail -1|awk '{print $2}'|awk -F ':' '{print $2}'
}
read -p "请输入网卡名字:" ipname
myip=`ipaddress $ipname`
echo "$ipname address is $myip"
#机器台数
machineNum=`ifconfig |grep -n '^[a-zA-Z0-9]'|wc -l`
#获取机器的机器名所在行和机器名
machineName=`ifconfig |grep -n 'Link encap'|awk -F' ' '{print $1}'|awk -F':' '{print $2}'`
#获取机器的机器名对应的IP地址
machineIP=`ifconfig |grep -n 'inet addr'|awk -F':' '{print $3}'|awk -F' ' '{print $1}'`
for num in `seq 1 $machineNum`;
do
#`echo "$machineName"|sed -n '$num' p"`
n=`echo "$machineName"|sed -n "$num"p`
m=`echo "$machineIP"|sed -n "$num"p`
echo "机器$num:$n的IP地址是:$m";
done
#if例子1
a=1
if [ $a == 2 ]
then
echo "true"
elif [ $a -lt 10 ]
then
echo "no false"
else
echo "false"
fi
#if例子2
# > gt < lt
# >= ge <= le == eq != ne
read -p "please input a digit:" n
#n2=`echo $n|grep -c '[^0-9]'`
#n1=$[$n%2]
#if [ $n2 -eq 1 ]
if echo $n | grep -q '[^0-9]'
then
echo "你输入的不是数字,请重新输入"
exit 1
fi
n1=$[$n%2]
#if例子3
if [ $n1 -eq 0 ]
#if(($n1==0))
then
echo "输入的是偶数"
else
echo "输入的是基数"
fi
#for循环例子1
#while read line
for i in `cat ip.txt`
do
echo -e "\033[32m scp -r /root/learing/t8.sh root@$i:/tmp \033[0m"
done
#for循环例子2
pfile=`find . -name "*.sh"|tail -2`
for i in `$pfile`
do
tar -czvf 2016-07-22.tar.gz $i
done
#for循环例子3
j=0
for((i=1;i<=100;i++))
do
j=`expr $i + $j`
done
echo $j
#for循环例子4
for ip in `cat ip.txt`
do
echo $ip
./rsync.expect $ip ip.txt
done
#for循环例子5
sum=0
for i in `seq 1 100`
do
sum=$[$sum+$i]
echo $i
done;
echo $sum
#for循环例子6
for f in `ls /etc/`
do
if [ -d /etc/$f ]
then
ls -d /etc/$f
#echo "/etc/$f"
fi
done;
#for循环例子7
n=`wc -l passwd |awk '{print $1}'`
for i in `seq 1 $n`;
do
sed -n "$i"p passwd;
done
#if while循环例子
FILES=$*
if [ -z $* ];
then
echo -e "\033[32m{usage:$0 /boot|/tmp|/tmp/test.txt}\033[0m"
exit
fi
for i in `echo 192.168.204.129 127.0.0.1`
do
scp -r $FILES root@$i:/root/install
done
#while循环例子1
i=0
#while [ $i -lt 5 ]
while [[ $i<5 ]]
do
echo "$i"
((i++))
done
#while循环例子2
while :
do
read -p "请输入:" n
if [ -z $n ]
then
echo "需要输入内容:"
continue
fi
n1=`echo $n|sed 's/[0-9]//g'`
if [ ! -z $n1 ]
then
echo "需要输入数字:"
continue
fi
break
done
echo $n
#while循环例子3
while :
do
load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d'.' -f1`
if [ $load -gt 10 ]
then
top|mail -s "load is high:$load" load@163.com
fi
sleep 30
done
#while循环例子4
while read line
do
echo -e "\033[32m scp -r /root/learing/t8.sh root@$line:/tmp \033[0m"
done < ip.txt
#while循环例子5
while read line
do
echo $line
done </etc/hosts
#if case 循环例子1
read -p "Please input a Number:" n
n1=`echo $n|sed 's/[0-9]//g'`
if [ ! -z $n1 ]
then
echo "Please input a Number."
exit 1
elif [ $n -lt 0 ] || [ $n -gt 100 ]
then
echo "The number ranger is 0-100"
exit 1
fi
n2=$[$n%2]
case $n2 in
0)
echo "偶数"
;;
1)
echo "奇数"
;;
*)
echo "Please input a Number."
;;
esac
Linux Shell流程例子的更多相关文章
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
- linux shell 流程控制
导读 和Java.PHP等语言不一样,linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介绍下,各个语句使 ...
- [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...
- Linux Shell 流程控制语句
* 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...
- Linux | Shell流程控制语句
流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...
- Linux Shell——流程控制
1. 创建交互式脚本 使用 echo命令的选项 关于各种命令的使用,可以使用man 命令来查看命令的详细用法介绍.例如,我想看下 echo 的用法和各种选项.可以执行 man echo.执行结果如下: ...
- linux shell学习之shell流程控制
在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧. linux控制流结构学习. 一,shell控制流结构 1.控制结构 ...
- Linux Shell 高级编程技巧4----几个常用的shell脚本例子
4.几个常用的shell脚本例子 4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释 4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash c ...
- shell流程控制语句
linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while,until),选择语句(case/select).下面我将通过例子介绍下,各个语句使用方法. 1 ...
随机推荐
- 基于keepalived的nginx高可用
#nginx,keepalived安装略过 MASTER 节点配置文件(192.168.1.11) vi /etc/keepalived/keepalived.conf global_defs { # ...
- c# dll自动注册
在网上看到一个c# dll自动注册的文章,我测试了一下,可用. 下面是具体代码 [DllImport("Ry4SCom.dll")] public static extern in ...
- 2014 ACM广东省赛总结
2014年广东省赛在化工大学城开,5月10日开幕式&热身赛,5月11日正式赛. 热身赛的时候,开幕式说有两小时,于是我们愉快的切题了,像平常组队赛那样很快出了两题,但卡在后面两题切不动了.这时 ...
- 【网络爬虫】【python】网络爬虫(五):scrapy爬虫初探——爬取网页及选择器
在上一篇文章的末尾,我们创建了一个scrapy框架的爬虫项目test,现在来运行下一个简单的爬虫,看看scrapy爬取的过程是怎样的. 一.爬虫类编写(spider.py) from scrapy.s ...
- 2014年第五届蓝桥杯国赛 Log大侠(区间合并+Java递归效率分析)
1678: Log大侠 java 时间限制: 2 Sec 内存限制: 256 MB提交: 20 解决: 1 题目描述 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称L ...
- 异步和多线程,委托异步调用,Thread,ThreadPool,Task,Parallel,CancellationTokenSource
1 进程-线程-多线程,同步和异步2 异步使用和回调3 异步参数4 异步等待5 异步返回值 5 多线程的特点:不卡主线程.速度快.无序性7 thread:线程等待,回调,前台线程/后台线程, 8 th ...
- C#中Obsolete特性
一般在逼格比较高的程序员代码中常见此特性手法,他们因为某些原因不详注释掉原有的代码,用Obsolete [csharp] view plain copy class Program { static ...
- 51nod1205(johnson)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1205 题意:中文题诶- 思路:johnson模板题 流水作业调 ...
- 洛谷P1549 棋盘问题(2)
P1549 棋盘问题(2) 题目描述 在N*N的棋盘上(1≤N≤10),填入1,2,…,N*N共N*N个数,使得任意两个相邻的数之和为素数. 例如:当N=2时,有: 其相邻数的和为素数的有: 1+2, ...
- Java:创建线程
Java定义了两种创建线程的方法: 1.实现Runnable接口 要实现Runnable接口,只需简单地实现run()方法即可,声明如下:public void run() 在run()方法中,可以定 ...