首页 > 系统相关 >初识Shell脚本

初识Shell脚本

时间:2022-10-12 12:23:33浏览次数:36  
标签:脚本 语句 shell 判断 命令 初识 SHELL Shell 循环

1 简介

  1. SHELL是UNIX系统的用户与操作系统之间的一种接口。它既是UNIX系统的命令解释程序,又是一种高级的命令程序设计语言。
  2. 作为命令解释程序,SHELL接收用户输入的命令,将命令翻译成一个动作序列,然后调用系统过程执行这条命令。
  3. 作为命令程序设计语言,SHELL具有一般高级语言的许多特征,如变量定义、赋值、条件和循环语句等。用户可以利用SHELL的这些功能将多条命令组织成一个命令程序,以完成某种特定的任务。这个命令程序称为SHELL程序或SHELL过程。
  4. 是一门解释型语言,无需编译,直接在操作系统上运行,无需内存。

2 特点

2.1 优势

  1. SHELL语言非常适于编写小的CGI应用程序。UNIX系统中的SHELL语言是功能非常强大的编程工具。
  2. Windows NT支持POSIX标准,这意味着大多数常用的UNIX工具(例如sh)都可以在NT中运行。
  3. 使用SHELL语言编写的应用程序短小精干,运行时不会产生类似Perl语言解释器之类的开销,并且易于实现在不同系统之间的移植。

2.2 缺点

  1. SHELL语言没有象“真正”的编程语言那样,提供灵活且功能强大的控制结构。
  2. 在SHELL程序中常常需要不断地调用其它的工具(例如,grep、sed,甚至还有Perl)。

3 基本语法

  1. shell语言下的所有键值对应满足key=value
  2. 输出变量的值echo $变量名
  3. 输出字符串echo "字符串"
  4. 读取输入的值存储在变量中read 变量名
  5. 先打印要输出的字符串,再接受键盘输入的值read -p "字符串" 变量名
read -p "请输入一个数字:" n
echo $n

4 shell脚本文件

4.1 基本介绍

  1. shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。
  2. shell script就像早期dos年代的.bat,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组,循环,条件以及逻辑判断等重要功能,让使用者可以直接以shell来写程序,而不必使用类似C程序语言等传统程序编写的语法。

4.2 编写脚本文件

  1. 一般用vi命令编写脚本文件,新建一个.sh文件在其中编写代码后,给文件赋予权限并通过命令执行文件。
编写文件:
vi 文件名
赋予权限:
chmod 777 文件名
执行文件:
./文件名 
  1. shell脚本文件的第一行一定要输入#!/bin/bash,"#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。
  2. 一个shell脚本文件一般的样子:

4.3 算术运算

  1. 输入两个数,分别打印和、差、积、商、余数

4.4 逻辑运算

  1. -eq判断是否相等
  2. -ne判断是否不相等
  3. -gt判断是否大于greater than
  4. -ge判断是否大于等于
  5. -lt判断是否小于less than
  6. -le判断是否小于等于

4.5 判断字符串

  1. "字符串1"=="字符串2"判断字符串是否完全相等。

4.6 分支语句:if语句

  1. 注意:
  • if语句要以fi结尾
  • 条件判断语句应该被中括号包裹:[条件判断语句]
if [条件判断语句1]
then 执行语句1 
elif [条件判断语句2]
then 执行语句2
else 执行语句3
fi
  1. 在shell的if语句中,我们可以使用双括号((条件语句))里面编写C语言语法的语句((条件判断语句))

4.7 循环语句:while循环和for循环、break语句

  1. 循环四要素:
  • ①初始化表达式,只执行一遍
  • ②布尔值测试表达式,判断是否满足,直到不满足循环条件结束
  • ③循环体,满足的情况下执行一遍,随后立马执行更改表达式
  • ④更改表达式,一直在更改
  1. while循环格式对应循环四要素:
  2. 用while语句编写1-100累加求和代码:
#!/bin/bash
i=1
sum=0
while((i<=100))
do ((sum+=i))
((i++))
done
echo $sum
  1. for循环语句语法:
  2. 用for循环语句打印1-100代码:
#!/bin/bash
for((i=1;i<=100;i++))
do echo $i
done
  1. break语句:用于终止循环
  2. 练习:找出100-999之间的水仙花数,水仙花数:a3+b3+c^3=abc

4.8 循环的嵌套

  1. 定义:一个循环的循环体是另外一个循环
  2. 内层循环全部走完,外层循环只走了一次;外层循环全部走完,内层循环走了(外*内)次
  3. 内循环100次,外循环100次,总共循环了10000次:

5 特殊字符

  1. 以星号“*”为例,在shell语言中,特殊字符的打印往往对应着特殊编码。
  2. echo -e "\x2a"打印出星号,其中\x2a是“*”的unicode编码。
  3. 打印正方形星号“*”阵列:

标签:脚本,语句,shell,判断,命令,初识,SHELL,Shell,循环
From: https://www.cnblogs.com/lynnier/p/16784096.html

相关文章