码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本编程之字符串测试及循环

时间:2015-11-05 16:46:11      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:字符串   null   

==:两个字符串是否相等

=:两个字符是否不等

>:某个字符串是否大于另一个字符串

<:某个字符串是否小于另一个字符串

-n string:测试指定字符串是否为空

-s string:测试指定的字符串是否不空

例如

判断用户名与组名是否一样

#!/bin/bash

if  ! id $1 &>/dev/null; them

                echo”nouser”

                exit

fi

if [ `id –n –u $1` == `id –n –u $1` ]; then

                echo”ok”

else

                echo”notok”

fi

写一个脚本

传递一个参数给脚本,如果参数为qQquit就退出脚本,否则就显示用户的参数

#!/bin/bash

#判断脚本是否存在

if [ $1 = ‘q’ ]; then

                echo “exit”

                exit

elif [ $1 = ‘Q’ ]; then

                echo”exit”

                exit

elif [ $1 = ‘quit’ ]; then

                echo”exit”

                exit

elif [ $1 = ‘Quit’ ]; then

                echo”exit”

                exit

elsee

echo $1

fi

练习

传递3个参数给脚本,第一个为整数,第二个为算术运算符,第三个为,将计算结果显示出来保留2为精度,形如./calc.sh5 / 2

提示:计算使用bc命令,在bc中使用scale可以保留精度,利用echo“scale=2111/22” | bc,将其保留到某个变量中,直接引用

练习

写一个脚本,判断当前主句的CPU生产商,其信息在/proc/cpuinfo文件中evderid一行中

如果生产商为AuthenticAMD就显示为AMD公司,如果生产商为GenuineIntel就显示为Intel公司,否则就显示为非主流公司

练习

写一个脚本,给脚本传递3个整数,判读其中的最大数和最小数,并显示出来

可以设置一个变量MAX=0,然后让MAX$1进行比较,若大于MAX则将$1的值赋给MAX,接着让MAX$2进行比较,一次类推

练习

传递3个参数给脚本参数均为用户名,将这些用户的账号信心提取出来放置于/tmp/testusers.txt文件中,并要求每一行行首有行号

 

循环:指定进入条件退出条件

for循环

for 变量in 列表(变量中的数遍历了列表中的数则退出)

 do

循环体

done

seq [起始数步进数]结束数,这是个命令,要通过``引用命令结果

变量在开始的时候都是默认为字符串的

declare –I SUM=0:定义为整型

                -x:定义为环境变量

#!/bin/bash

declare –i SUM=0

for I in (1..100)

do

                letSUM=$[$SUM+$I];

done

echo”the sum is :$SUM”

练习

向系统中每个用户问好,即遍历每个用户

使用wc–l /etc/passwd

                LINES=`wc–l /etc/passwd | cut –d’ ‘ –f1`

for I in `seq 1 $LINES`

do

                echo “hell`head –n $I /etc/passwd | tail -1 | cut –d: -f1`”

done

写一个脚本

设定变量FIFE的值为/etc/passwd,一次想/etc/passwd中的每个用户问好并显示对方的shell,形如helloyourshell/bin/bash,统计一共有多少个用户,并指向默认用户问好

写一个脚本

添加10个用户user1user10,密码同用户名,但要求只有用户名不存在的情况下才能添加,扩展:接受一个参数add:添加用户user1…user10del:删除用户user1…user10,其他的则退出

写一个脚本

计算100以内的所有能被3整除的正整数的和(取模,取余% 3%2=1)

写一个脚本

计算100以内的所有的奇数的和以及所有偶数的和,分别显示之

写一个脚本分别显示当前系统上的所有默认shellbash的用户和默认shell/sbin/nologin的用户,并统计各类shell下的用户总数显示结果形如

BASH3usersthey are

root redhatgentoo

NOLOGIN2usersthey are

binftp


本文出自 “Linux根文件系统” 博客,请务必保留此出处http://amazonjian.blog.51cto.com/9604681/1709966

shell脚本编程之字符串测试及循环

标签:字符串   null   

原文地址:http://amazonjian.blog.51cto.com/9604681/1709966

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!