SHELL脚本入门学习

166 阅读2分钟


本文已参与「新人创作礼」活动,一起开启掘金创作之路 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情 >>

shell简介

  • Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
  • Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁
  • shell 既是一种命令语言,又是一种程序设计语言。
  • 要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器
  • Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
  • #!/bin/sh**,它同样也可以改为 **#!/bin/bash。
  • export:定义全局变量 unset:删除
  • 变量命名要大写哦 *使用 [] 注意左右加空格
    1. [] 内不能嵌套 (),可以嵌套 []
    1. $[ val + 1 ] 是变量加 1 的常用方法
    1. [] 在测试或者计算中里面的内容最好都加空格
    1. 单引号和双引号差不多,单引号更加严格,双引号可以嵌套单引号
    1. 一定要注意语句的格式,例如缩进

shell变量

  1. 定义变量时,变量名不加美元符号
  2. 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
  3. 中间不能有空格,可以使用下划线(_)。
  4. 不能使用标点符号。
  5. 不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量

使用一个定义过的变量,只要在变量名前面加美元符号即可,

如:your_name="qinjx" echo $your_name echo ${your_name}

推荐给所有变量加上花括号,这是个好的编程习惯

只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

下面的例子尝试更改只读变量,结果报错:

#!/bin/bash name="hello" readonly name namw="nihaoya"

运行脚本,结果如下:

/bin/sh: NAME: This variable is read only.

删除变量

用 unset 命令可以删除变量。

语法: unset variable_name

变量被删除后不能再次使用。unset 命令不能删除只读变量。

#!/bin/bash name="hello" unset name echo ${name}

运行脚本,结果如下:

/bin/sh: NAME: This variable is read only.

shell注释

  1. 以 # 开头的行就是注释,会被解释器忽略。

  2. 多行注释 多行注释还可以使用以下格式:

    :<<EOF 注释内容... EOF EOF 也可以使用其他符号:

    :<<' 注释内容... '

    :<<! 注释内容... !

shell运算符

1、Shell 和其他编程语言一样,支持多种运算符,包括:

算数运算符

关系运算符

布尔运算符

字符串运算符

文件测试运算符

2、bash不支持简单的数学运算,但是可以通过其他命令来实现。

3、expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

4、条件表达式要放在方括号之间,并且要有空格

5、乘号(*)前边必须加反斜杠()才能实现乘法运算;

6、#代表输出长度

7、完整的表达式要被 包含