加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell编程

发布时间:2020-12-15 17:05:35 所属栏目:安全 来源:网络整理
导读:Shell 运行程序有多种方法,这里介绍 3 种方法 1. ./xx.sh ,和运行二进制可执行程序一样,这样运行 shell 要求 shell 程序必须有可执行权限。 2.Source xx.sh source 是 Linux 一个命令,这个命令就是用来执行脚本程序的,这样运行不需要脚本具有可执行权限

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读