一、什么是Shell脚本

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界Shell。

shell他就是一个脚本命令,当运行该脚本命令时,可以与Linux系统底层进行交互。

二、基本语法

#!/bin/bash

echo "Hello World !"

必须以#!/bin/bash开头

echo 输出语句

在虚拟机内创建my01.sh脚本文件(vi my01.sh)可直接创建并进入文件命令行模式

执行脚本:./脚本文件名.sh

注意权限不足

 分析rwx-什么含义

  •  r:读权限
  • w:写权限
  • x:执行权限
  • -:没权限

它们对应的分别是谁的权限

  1. rw-:创建该文件的用户具有的权限
  2. r--:创建该文件的用户所在组的其他用户
  3. r--:其他人具有的权限

修改对应权限

1)增加对应权限

chmod u+x| g+w | o+r +文件名

2)减少对应权限

chmod u-x| g-w | o-r  +文件名

 

简便分配权限

权限相对应的数字:

  • r====4
  • w====2
  • x====1
  • -====0

修改权限:

chmod 763 my01.sh

修改后的权限为:

u:---rwx       g:rw-      o: -wx

三、Shell变量

注意声明变量时:

变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线 _。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

在my01.sh文件中声明变量如下:

 四、Shell传递参数

当执行shell脚本时,可以传递参数。 在shell脚本中使用$n接受传递的参数。n:表示数字1-∞

 为脚本设置权限并执行如下:

五、Shell数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由 0 开始。

注意:Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

array_name=(value1 value2 ... valuen)

 注意:如果直接引用数组名而没有使用下标默认下标0

执行my02.sh

六、关联数组

可以理解为java中的map 

关联数组使用 declare 命令来声明,语法格式如下:

declare -A array_name=([k]=v [k]=v [k]=v)

 访问关联数组元素可以使用指定的键:array_name["index"]

 下面访问关联数组的元素:

 

* :表示数组的所有元素

​​​七、Shell基本运算符

具体参考:Shell 基本运算符 | 菜鸟教程 (runoob.com)

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐