第七、八讲 for 和 while
来源:互联网 发布:就业报表数据分析报告 编辑:程序博客网 时间:2024/06/05 04:28
第七讲 for语句
根据变量的不同取值,重复执行一组命令
格式
for 变量名 in 取值列表
do 命令序列
done
实例1:"依次输出3条文字信息,包括一天钟的“Morning”“Noon”“Evening”字串 "
脚本文件:
实例2:“字符串的依次赋值”
脚本文件:
第八讲 while语句
重复测试指定的条件,只要条件成立则反复执行对应的命令序列
格式
while 命令或表达式
do 命令序列
done
实例1:当用户从键盘输入一个大于1的整数时,计算从1到该数的各个整数的和。
脚本文件
实例2:批量添加5个系统用户账号,用户名依次为“stu1”、“stu2”、......、“stu20” ,这些用户的初始化密码为123456
脚本文件
扩充:删除这5个用户
相关命令
expr 一般用于整数值计算,但也可用于字符串操作。
格式
expr argument operator argument
注意操作符左右都要有空格
expr 10 + 10
expr 30 / 3 / 2
expr 2 \* 3 表示乘法
i=`expr $i + 1 ` 一般用来表示增量计算
read 接收标准输入(键盘)的输入,或者其他文件描述符的输入。
read name 从键盘输入指定到name
read -p "enter your name :" name
使用参数-p 可以直接指定一个提示 。
-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是 read命令将文本颜色设置成与背景相同的颜色)。
参考资料http://blog.csdn.net/chen_zhipeng/article/details/8435049
echo -n 不要在最后自动换行
echo -e若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
根据变量的不同取值,重复执行一组命令
格式
for 变量名 in 取值列表
do 命令序列
done
实例1:"依次输出3条文字信息,包括一天钟的“Morning”“Noon”“Evening”字串 "
脚本文件:
#!/bin/bashfor TM in “Morning” “Noon” “Evening” #三个字符串之间只用空格隔开do echo "The $TM of the day !"done
实例2:“字符串的依次赋值”
脚本文件:
#!/bin/bashfor i in a b cdo echo "i is $i"done
第八讲 while语句
重复测试指定的条件,只要条件成立则反复执行对应的命令序列
格式
while 命令或表达式
do 命令序列
done
实例1:当用户从键盘输入一个大于1的整数时,计算从1到该数的各个整数的和。
脚本文件
#!/bin/bashread -p "please input a number greater than 1: " Num #从键盘输入i=1sum=0while [ $Num -gt $i ]do sum=`expr $sum + $i ` i=`expr $i + 1 ` # 赋值时,等号前后不能有空格doneecho "the sum of 1~$Num is : $sum"
实例2:批量添加5个系统用户账号,用户名依次为“stu1”、“stu2”、......、“stu20” ,这些用户的初始化密码为123456
脚本文件
#!/bin/bashi=1while [ $i -le 5 ]do useradd stu$i passwd==stdin stu$i < /home/pwd.txt #标准输入 从文件pw.txt读取输入 i=`expr $i + 1 ` # 赋值时,等号前不能有空格donetail -5 /etc/passwd #查看配置文件
扩充:删除这5个用户
#!/bin/bashi=1while [ $i -le 5 ]do userdel -r stu$i # userdel -r 表示删除其对应的home目录 i=`expr $i + 1 ` # 赋值时,等号前不能有空格donetail -5 /etc/passwd #查看配置文件
相关命令
expr 一般用于整数值计算,但也可用于字符串操作。
格式
expr argument operator argument
注意操作符左右都要有空格
expr 10 + 10
expr 30 / 3 / 2
expr 2 \* 3 表示乘法
i=`expr $i + 1 ` 一般用来表示增量计算
read 接收标准输入(键盘)的输入,或者其他文件描述符的输入。
read name 从键盘输入指定到name
read -p "enter your name :" name
使用参数-p 可以直接指定一个提示 。
在上面read后面的变量只有name一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数 据个数过多,则最后所有的值都给第一个变量。如果太少输入不会结束。
read -t 5 -p "please enter your name:" name
-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个非零退出状态;
read -n1 -p "Do you want to continue [Y/N]?" answer
-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即接受输入并将其传给变量。无需按回车键。
-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是 read命令将文本颜色设置成与背景相同的颜色)。
参考资料http://blog.csdn.net/chen_zhipeng/article/details/8435049
echo -n 不要在最后自动换行
echo -e若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
0 0
- 第七、八讲 for 和 while
- [Python]第七讲:if与while
- 第七讲 音频和视频
- 第三讲 :● 循环结构 for , while, do while
- while (1) 和 for (;;)
- for(;;) 和 while (1)
- while和for循环
- for和while区别
- for和while等价
- ******************** while 和for练习题 ********************
- for和while区别
- /* Java for 和 while */
- for/while和$*之间
- while 和 for循环
- for和while
- while 和 for 循环
- C Primer Plus学习 八 for语句和do while语句
- while和do..while和for循环
- 全新一代迅捷文本格式转换器
- 设计模式之三:策略模式
- 使用AndroidStudio编译NDK的方法及错误解决方案
- easyui的form表单的load方法和uploadify一起使用时出现连接中止的解决办法
- VC通过ADO访问Excell
- 第七、八讲 for 和 while
- windows 任务计划程序执行 bat ,重启服务
- oracle 存储过程 游标
- Android APK反编译图文详解
- Chrome插件开发入门教程
- windows下PTAM的编译
- What Every Developer Should Know About URLs(关于URLs,每个开发人员都应该知道些什么)
- IPC通信机制
- 小希的迷宫 1272