linuxshell表⽩代码,linuxshell编程(⽰例代码)⼆.linux shell 之read -p ⽤法
shell下的read命令的作⽤是从标准流中读取输⼊,并把读取的内容放到某个变量中。
#!/bin/bash
echo -e "Please enter your test :"
read TESTREAD
echo $TESTREAD
>>>>>>>>##
实例2
#!/bin/bash
mum=$1
mum=${mum:-3} #变量替换##当$mum的值⼤于或等于3后,就执⾏else后⾯的.
if [ $mum = "1" ];then
echo "测试环境 ..."
elif [ $mum = "2" ];then
echo "⽣产环境"
else
echo "请输⼊1或2,或单击enter键…"
fi
echo -e "\033[35m --------- 你输⼊的是数字$mum$in \033[39;49;0m"
echo " press any key to continue " # 提⽰按任意键继续...
read key
三、SHELL学习笔记之循环语句之for和while
循环语句:for  while
1.)for循环语句是在知道循环次数时使⽤.
2.)while循环语句是在不知道循环次数时使⽤,使变量增加1的操作可以写成"let,i++"或expr变量1运算符变量
for循环结构:
for 变量名 in 取值列表
do
命令序列
done
while循环结构:
while 条件测试命令
do
命令序列
done
for 循环实例:
[[email protected] source]# more for.sh
#!/bin/bashfor((i=1;i<10;i++))doecho $i
done
或着(两种⽅式执⾏的结果是⼀样的)。
#!/bin/bashfor i in `seq 10`doecho $i
done
执⾏结果:
[[email protected] source]# shfor.sh1
2
3
4
5
6
7
8
9例2:for循环之创建⽤户脚本:
#!/bin/bashfor i in {1...10}douseradd studet$i echo password| passwd --stdin studet$i
done
for 循环实例
while循环实例:
while循环实例:
#!/bin/sh
echo"Please input the num:"read num
sum=0i=1signal=0
while [[ $signal != 1]]do
if [ $i -eq $num ]
then
let"signal=1"let"sum+=i"echo"1+2、、、+$num=$sum"
elselet"sum=sum+i"let"i++"fi
done
实例2:while循环...
#!/bin/bash
checkdays=7
while [ $checkdays -ge 4]dorq=`date +%Y-%m-%d --date="$checkdays days ago"` [-f /usr/local/tomcat7/logs/localhost.$rq.log ] &&{
tar zcf localhost.$rq. localhost.$rq.log
}
let checkdays-=1####属于递减的循环...
done
执⾏后结果如下:
[[email protected]~]# sh -x 000.sh+ checkdays=7
+ ‘[‘ 7 -ge 4 ‘]‘
++ date +%Y-%m-%d ‘--date=7 days ago‘
+ rq=2014-07-24
+ ‘[‘ -f /usr/local/tomcat7/logs/localhost.2014-07-24.log ‘]‘
+ let checkdays-=1
+ ‘[‘ 6 -ge 4 ‘]‘
++ date +%Y-%m-%d ‘--date=6 days ago‘
+ rq=2014-07-25
+ ‘[‘ -f /usr/local/tomcat7/logs/localhost.2014-07-25.log ‘]‘
+ let checkdays-=1
+ ‘[‘ 5 -ge 4 ‘]‘
++ date +%Y-%m-%d ‘--date=5 days ago‘
+ rq=2014-07-26
+ ‘[‘ -f /usr/local/tomcat7/logs/localhost.2014-07-26.log ‘]‘
+ let checkdays-=1
+ ‘[‘ 4 -ge 4 ‘]‘
++ date +%Y-%m-%d ‘--date=4 days ago‘shell代码
+ rq=2014-07-27
+ ‘[‘ -f /usr/local/tomcat7/logs/localhost.2014-07-27.log ‘]‘
+ let checkdays-=1
+ ‘[‘ 3 -ge 4 ‘]‘
while循环实例
四、SHELL学习笔记之条件判断语句 if
条件判断语句:if
if 条件测试命令
then
命令序列1
else
命令序列2
fi
实例:
#!/bin/bash
#install nginx-1.10.2
if [ ! -d /usr/local/src ];then
echo "not dircetry!!"
else
echo "is this dirctroy"
fi
2.多重条件判断语句:if/else
if [ 条件测试命令 ];
then
命令序列1
elif [ 条件测试命令 ];
then 命令序列2
elif [ 条件测试命令 ];
then 命令序列3
else
命令序列4
fi
实例:
#!/bin/bash
system=`uname -s`if [ $system="linux"];then
echo"linux"elif [ $system="windows"];then echo"windows"elif [ $system="solaris"];then echo"solaris"
elseecho"what??"fi
语句判断系统是那种类型的操作系统
1.整数判断
-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt ⼤于,如:if [ "$a" -gt "$b" ]
-ge ⼤于等于,如:if [ "$a" -ge "$b" ]
-lt ⼩于,如:if [ "$a" -lt "$b" ]
-
le ⼩于等于,如:if [ "$a" -le "$b" ]
⼤于(需要双括号),如:(("$a" > "$b"))
>= ⼤于等于(需要双括号),如:(("$a" >= "$b"))
⼩数据⽐较可使⽤AWK
2. ⽂件的判断
-r file     ⽤户可读为真
-w file     ⽤户可写为真
-x file     ⽤户可执⾏为真
-f file     ⽂件为正规⽂件为真
-d file     ⽂件为⽬录为真
-c file     ⽂件为字符特殊⽂件为真
-
b file     ⽂件为块特殊⽂件为真
-s file     ⽂件⼤⼩⾮0时为真
-t file     当⽂件描述符(默认为1)指定的设备为终端时为真[ -f "somefile" ] :判断是否是⼀个⽂件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执⾏权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
3.复杂逻辑判断
-a        与
-o        或
!        ⾮
4.字符串判断

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论