shell编程

Shell运行程序有多种方法,这里介绍3种方法

1.  ./xx.sh,和运行二进制可执行程序一样,这样运行shell要求shell程序必须有可执行权限。

2. Source xx.sh sourceLinux一个命令,这个命令就是用来执行脚本程序的,这样运行不需要脚本具有可执行权限。

3. Bash xx.sh 这个bash你可以理解成脚本语言的解释器。本质上是一个可执行程序,这样执行相当于我们执行了bash程序,然后把xx.sh作为argv[1]传给它

 

shell程序的第一行一般都是 #/bin/sh这一行话以#!开头,后面加上一个路径,这个/bin/sh就是我们的解释器,这行话的意思就是指定shell程序执行时被哪个解释器去执行。所以我们在这里写上这个/bin/sh意思就是这个shell将来被当前机器中的/bin目录下的sh可执行程序执行

你可以指定别的,比如说把它写成#/bin/bash来指定使用的解释器

脚本中使用注释使用# 如果有多行需要需要注释,每行前面都需要一个#

 

Shell中的变量定义和应用

(1)变量的定义和初始化。Shell是弱类型语言(语言中的变量如果是有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言),和C语言不同。在shell编程中定义变量不需要指定类型,也没有类型这个概念

例子如下

 

上面的例子体现了变量的定义 初始化 和引用

变量定义时可以初始化,使用=可以给变量初始化进行赋值。注意赋值两边不能有空格,和C不一样。shell对语言非常严格,对有些地方空格必须有,有些地方必须没有

而且不能随意有没有空格

(2)变量的赋值

变量定义后可以再次赋值,新的赋值可以覆盖老的赋值。

(3)在我们shell中引用一个变量,必须使用$符号,这个符号就是变量解引用符号

 注意:$后面跟一个字符串,这个字符串就会被当作变量去解析,如果这个字符串本身没有定义,执行时并不会报错,而是把这个变量解析为空,

也就是说shell里面没有定义shell变量就相当于定义赋值为空的变量

在shell中直接使用字符串可以不加“ ”,而且有空格时也可以,但是缺陷是不能用来输出"或者其他的转义字符,但是双引号可以

在shell中也可以使用单引号来表示字符串,但是是完全字母替换

在shell中调用Linux命令

1.直接调用,比如直接写mkdir xxx

2.用引号扩起来执行,有时候我们在shell中调用linux命令是为了得到这个命令的返回值(结果值),这时候就适合用一对反引号(就是我们键盘esc下面的那个按键,和~在一个按键上)来调用执行这个命令

这里就会输出你当前路径。

shell中的选择分支

shell中的典型的if语言格式

if [表达式];then

xxx

else

xxx

fi



注意变量引用的时候可以使用$var,也可以${var},这两个的区别就是在某些情况下只能用${var} 而不能用$var

例子程序


for循环和while循环看下面的例子



echo 创建和追加输入文件

(1)在shell中可以使用echo 指令新建一个文件,并且将一些内容传入这个文件中

比如 echo "abc" > 1.txt 

这行指令的意思是在当前目录下创建一个a.txt文件,然后把双引号里面的字符串写到1.txt里面去

(2)向已经创建的文件里面追加几行

比如 echo "abc" >> 1.txt








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值