shell基础及流程控制语句之一for循环
2014-12-06 10:57
387 查看
shell脚本是学习linux的必修课,能帮助你快速完成一些复杂操作话虽如此毕竟也只是一些命令放到了一起罢了。shell能够提供一些内部命令,并且能够通过PATH环境变量来找到外部命令把命令提交给内核启动为进程。
在编写shell脚本时第一行必须为#!/bin/bash因为shell是解释型的语言需要一个解释器来运行它,而/bin/bash就是解释器,python也是解释型语言也需要解释器来运行。在写shell时所有以#开头的行都会被当做注释来处理(除了第一行的#!/bin/bash),shell脚本的命名通常为*.sh前面的*代表任意字符后缀为固定格式.sh
在编程语言中要经常使用变量来完成操作不然的话一个内容在脚本中出现15次你就要修改15次那岂不是要累死的节奏。所以使用变量的好处就是只修改变量里面的内容然后下面的内容都会被修改,那变量是什么。
变量可以理解为一个临时的只可存放一个数据的容器,而这个容器可以存放很多类型的数据如:字符型、数值型、布尔型,其中布尔型就是判断真假的,0为真1为假。
在shell脚本中所有的变量如果不声明类型的话默认为字符型。当写完一个shell脚本时我们需要判断一下是否有语法错误则可以使用bash -n 脚本名称例如:bash -n 1.sh,如果需要显示shell脚本的执行过程则可以使用bash -x 1.sh看下我前天写的shell脚本吧(就只看一段)
每一行前面都有一个+号或者++,+号则代表脚本当前执行的命令,++则代表执行trap机制中的命令,其他内容则为输出信息。(这个脚本会在附件里)
接下来说一说for循环吧,其实很简单,它的格式为:
for VAR in LIST;do
循环内容
done
其中var代表一个变量list则为列表这个列表里可以存放一个命令的执行结果也可以存放字符串集合。定义列表的方式有:
1.直接给出
2.数值列表:数值列表可使用{start..end}来定义也可使用seq LAST来定义
接下来就是一些实例了(一定要多动手)
0x01:在/tmp/test目录中创建10个文件(首先要确保目录存在)
#!/bin/bash
dir="/tmp/test"
mkdir $dir
for i in {1..10};do
touch $dir/$i
done
在我们执行完脚本后/tmp/test这个目录下就会有10个文件
0x02:添加10个用户user1-user10
#!/bin/bash
for i in {1..10};do
useradd user${i}
done
非常简单的使用,只要多加练习即可做到不需要什么途径,关于附件里面的脚本我使用了函数、if循环、while循环、case等这些内容都会在后面讲到,看不懂没关系。
本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1587003
在编写shell脚本时第一行必须为#!/bin/bash因为shell是解释型的语言需要一个解释器来运行它,而/bin/bash就是解释器,python也是解释型语言也需要解释器来运行。在写shell时所有以#开头的行都会被当做注释来处理(除了第一行的#!/bin/bash),shell脚本的命名通常为*.sh前面的*代表任意字符后缀为固定格式.sh
在编程语言中要经常使用变量来完成操作不然的话一个内容在脚本中出现15次你就要修改15次那岂不是要累死的节奏。所以使用变量的好处就是只修改变量里面的内容然后下面的内容都会被修改,那变量是什么。
变量可以理解为一个临时的只可存放一个数据的容器,而这个容器可以存放很多类型的数据如:字符型、数值型、布尔型,其中布尔型就是判断真假的,0为真1为假。
在shell脚本中所有的变量如果不声明类型的话默认为字符型。当写完一个shell脚本时我们需要判断一下是否有语法错误则可以使用bash -n 脚本名称例如:bash -n 1.sh,如果需要显示shell脚本的执行过程则可以使用bash -x 1.sh看下我前天写的shell脚本吧(就只看一段)
每一行前面都有一个+号或者++,+号则代表脚本当前执行的命令,++则代表执行trap机制中的命令,其他内容则为输出信息。(这个脚本会在附件里)
接下来说一说for循环吧,其实很简单,它的格式为:
for VAR in LIST;do
循环内容
done
其中var代表一个变量list则为列表这个列表里可以存放一个命令的执行结果也可以存放字符串集合。定义列表的方式有:
1.直接给出
2.数值列表:数值列表可使用{start..end}来定义也可使用seq LAST来定义
接下来就是一些实例了(一定要多动手)
0x01:在/tmp/test目录中创建10个文件(首先要确保目录存在)
#!/bin/bash
dir="/tmp/test"
mkdir $dir
for i in {1..10};do
touch $dir/$i
done
在我们执行完脚本后/tmp/test这个目录下就会有10个文件
0x02:添加10个用户user1-user10
#!/bin/bash
for i in {1..10};do
useradd user${i}
done
非常简单的使用,只要多加练习即可做到不需要什么途径,关于附件里面的脚本我使用了函数、if循环、while循环、case等这些内容都会在后面讲到,看不懂没关系。
本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1587003
相关文章推荐
- 04-shell变量测试语句流程控制for循环
- 【Linux学习笔记】Shell 基础(3) — Shell流程控制语句
- 3、shellwhile循环,C-for循环,until循环,case分支结构,流程控制语句
- shell脚本基础进阶(三)----流程控制语句
- shell基础及流程控制语句之一while循环
- shell基础及流程控制语句之一case判断
- linux脚本编写基础(环境变量、shell流程控制)
- shell的控制流程语句
- 【Shell 编程基础第二部分】Shell里的流程控制\函数及\脚本调试
- 黑马程序员_Java基础_常用基础内容(进制转换、基本数据类型、运算符、流程控制语句等)
- Shell学习笔记(8)-流程控制之IF语句
- shell流程控制语句一览
- 【PHP】基础笔记 07 —— 流程控制 之 条件语句
- Shell测试运算和流程控制语句 监控disk、cpu和处理qmail邮件队列
- 黑马程序员 Java基础(流程控制语句)
- 黑马程序员 c#基础流程控制_循环语句
- 基础知识之运算符及流程控制语句
- shell-6-退出状态与流程控制语句(if;test;case命令)
- (java基础)java的流程控制语句b
- Shell学习笔记(11)-流程控制之select、until语句