shell编程---字符测试及for循环

一.字符测试

==:测试是否相等,相等为真,不等为假

!=: 测试是否不等,不等为真,等为假

>

<

-n string: 测试指定字符串是否为空,空则真,不空则假

-z string: 测试指定字符串是否不空,不空为真,空则为假

[ $username == $useername1 ] 等号两端必须要有空格

1.bc

echo "scale=2;111/22;" | bc 计算两个数的保留两位小数

练习:写一个脚本

传递一个参数(单字符就行)给脚本,如参数为q、Q、quit或Quit,就退出脚本;否则,就显示用户的参数;

#!/bin/bash

#

if [ $1 = ‘q‘ ];then

echo "Quiting..."

exit 1

elif [ $1 = ‘Q‘ ];then

echo "Quiting..."

exit 2

elif [ $1 = ‘quit‘ ];then

echo "Quiting..."

exit 3

elif [ $1 = ‘Quit‘ ];then

echo "Quiting..."

exit 4

else

echo $1

fi

2.for循环

for I in {1...10}; do

加法运算

done

写一个脚本:

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

#/bin/bash

#

declare -i oddsum=0

declare -i evensum=0

declare -i s

for I in {1..100};do

let s=$[$I%2]

if [ $s -eq 0 ];then

let oddsum=$[$oddsum+$I]

elif [ $s -eq 1 ];then

let evensum=$[$evensum+$I]

fi

done

echo ${oddsum}---${evensum}

组合测试条件

-a: 与关系

-o: 或关系

!: 非关系

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] && [ $# -le 3 ]

时间: 2024-10-06 13:14:01

shell编程---字符测试及for循环的相关文章

linux下Bash编程字符测试与for循环语句(五)

1.字符测试: ==:测试是否相等,相等为真,不等为假 !=: 测试是否不等,不等为真,等为假 >,<,>=,<= -n string: 测试指定字符串是否为空,空则真,不空则假 -z string: 测试指定字符串是否不空,不空为真,空则为假 2.for循环:进入条件,退出条件 for 变量 in 列表; do 循环体 done 生成列表: {1..100}:表示为1至100的数,步长为1 seq [起始数 [步进长度]] 结束数 例如: seq 1 100 默认步长为1 dec

6.3 bash编程 字符测试

给定一个用户,判断其UID和GID是否一样 "^$USERNAME\>"(行首第一个单词) 如果一样,就显示此用户为"good guy";否则,就显示此用户为"bad guy" #!/bin/bash # USERNAME =user1 if !grep "^$USERNAME\>" /etc/passwd &> /dev/null;then 用户不存在 echo "No such user

linux基础11-bash编程(字符串测试 和 for循环)

练习:传递一个用户名参数给脚本,判断此用户的用户名跟其基本组的组名是否一致,并将结果显示出来.(1)字符测试:==:测试是否相等,相等为真,不等为假!=: 测试是否不等,不等为真,等为假><-n string: 测试指定字符串是否为空,空则真,不空则假-z string: 测试指定字符串是否不空,不空为真,空则为假 练习:写一个脚本传递一个参数(单字符就行)给脚本,如参数为q,就退出脚本:否则,就显示用户的参数: 练习:写一个脚本传递一个参数(单字符就行)给脚本,如参数为q.Q.quit或Qu

shell编程之测试,判断,循环

测试,判断,循环 条件测试:判断某需求是否满足,需要由测试机制来实现; 如何编写测试表达式以实现所需的测试;        (1)执行命令,并利用命令状态返回值来判断;$?:上一个命令的返回值0:成功1-255:失败    grep "^&" /etc/init.d/functions &> /dev/null    echo $?  返回0表示有空白行,测试成功;(2)测试表达式;测试方法一:    test expression        test 2&g

shell编程---文件测试及特殊变量

一.算数运算 1.let 算术运算表达式 let C=$A+$B 2.$[算术运算表达式] C=$[$A+$B] 3.$((算术运算表达式)) C=$(($A+$B)) 4.expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用 C=`expr $A + $B` 5.提前结束脚本程序 exit 状态返回码 6.文件测试 -e FILE:测试文件是否存在 -f FILE: 测试文件是否为普通文件 -d FILE: 测试指定路径是否为目录 -r FILE: 测试当前用户对

shell 编程 (三)-for 循环,while循环,break,continue,exit

[toc] 一.for循环 重复执行一系列命令在 编程中很常见.通常你需要重复一组命令直到达到某个特定条件,比如处理某个目录下的所有文件.系统上的所有用户或者是某个文本文件中的所有行. 常见的两种循环,在脚本中普遍被用到. for循环while循环 语法:for 变量名 in 条件; do -; done for var in list do commands done 在list参数中,提供了迭代中要用的一系列值 示例1:用for循环来写个1-100的求和. 思路: [ ] 首先需要把1-10

Linux shell 编程(八):循环结构

循环语句 在shell中的循环语句如下: for while unitl case select for/while/unitl 必须以done结尾 for循环 for循环用来遍历数组(数据列表)或执行计算语句. 在shell中 for循环有两种形式 第一种用来遍历word序列的数据 word可以是以空格分隔的单词,数组变量或是数字区间/字母区间.示例: 循环次数为数据序列的个数,每一次循环时会把变量i赋值为本次循环到的数据,可以用在循环体中访问变量i. 第二种,示例: 在上面的循环中,expr

shell编程条件测试

关于条件测试命令可以使用man test命令查看 测试语句语法 test 测试语句 [ 测试语句 ] [[ 测试语句 ]] ((测试语句)) 其中1和2除了语法不一样,功能基本是一样的,而第3种语法他可以使用通配符进行匹配,第四种语法除了用于整数的比较,更多的还是进行一些整数的运算,不过平时经常用到的还是第2.3种语法结构. 条件测试类型 文件测试 数值测试 字符串测试 逻辑测试 文件测试 格式: test 文件测试符 file [ 文件测试符 file ] #中括号的两边都需要有空格 [[ 文

Linux学习 -- Shell编程 -- 字符处理命令

sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t ":" -k 3,3 /etc/passwd wc统计命令 wc [选项] 文件名 -l   行数 -w    单词数 -m    字符数