初涉Shell脚本
来源:互联网 发布:短信群发网站程序源码 编辑:程序博客网 时间:2024/06/06 19:40
Shell脚本:
Shell命令可以事先写在一个文件中,使用时Shell读取文件中的命令逐条解释,这种文件被称为脚本。执行脚本的方法与执行其他程序一样,如:./setenv.sh # setenv.sh是当前目录下的一个脚本
注意:被执行的脚本必须先赋予可执行的权限,可用chmod+x命令实现。
一般来说,脚本的第一行如下:#!/bin/sh
Shell将符号#后面的部分认为是注释,但这一行是有实际作用的。感叹号!后面的部分指明了要使用sh作为执行脚本的解释器。
脚本中的每一行是一条命令,多条命令也可以写在同一行,用分号;隔开。
Shell支持分支结构,其中if分支结构的语法如下:if list; thenlist; [elif list; then list;] ... [else list;] fi
这里各个list都代表一条或多条命令,方括号包围的部分为可选内容。
执行流程是:先执行if子句中的命令,如果执行成功,则执行then子句中的命令,执行完毕后流程结束,转移到fi后面去执行;否则将从后面的第一个elif或else子句开始执行,依次类推。PS(开始是正序,结束为其反序)
每个Linux程序运行结束后都会给Shell一个返回值,这个值为0表示执行成功,其他值均表示失败。
if及elif子句中的命令通常是用于判断的命令test。test命令的参数是一个表达式,表达式可以包含以下基本内容
表达式可以进行逻辑操作,形成一个新的表达式,如:
test命令又经常写为左方括号[,[也是一个命令,功能与test相同,但要求最后一个参数是右方括号],以求形式上的完整,如:
Shell也支持循环结构,其中for循环的一种语法如下:for var in str1str2 str3 ... ; do list; done
这里var是循环变量。
执行过程是:var的值依次为str1,str2,str3等,没设置一次值,执行一次list中的命令。例如:
脚本中支持定义函数,例如:
print3 () {
echo $1 $2 $3 # 显示第一、第二、第三个参数的值
}
其中,符号$加一个数字替换为调用函数时相应位置上的参数,$*则会替换所有参数。
定义函数之后就可以调用它:
print3 embedded linuxprogram # 将显示embeddedlinux program- 初涉Shell脚本
- Linux初涉shell脚本
- shell脚本
- shell脚本
- shell脚本
- shell脚本
- shell脚本
- shell脚本
- shell脚本
- shell 脚本
- SHELL 脚本
- shell脚本
- shell脚本
- shell 脚本
- shell脚本
- shell脚本
- shell脚本
- shell脚本
- 陈省身院士演讲:矢量丛与示性类
- [子集DP] BZOJ 2560 串珠子
- Atitit 获取剪贴板内容
- ssh-kengen的使用说明
- ZCMU-1839-字符串对比
- 初涉Shell脚本
- linux RAID
- AWS上搭建Hadoop集群(一)——单机安装Hadoop
- 很有意思的面试题i++,++i
- Ubuntu下编译RTEMS
- Atititcmd cli环境变量的调用设置与使用
- 陈省身文集7——学算四十年
- Leetcode 413 - Arithmetic Slices(dp)
- [bzoj4443] [Scoi2015]小凸玩矩阵