Shell脚本初级学习
发布日期:2021-05-16 13:53:10 浏览次数:17 分类:精选文章

本文共 1839 字,大约阅读时间需要 6 分钟。

Shell脚本编程详解

Shell简介

Shell是 UNIX 系统中最基本的脚本语言,是用来交互用户与内核的接口。 bash 是最常用的 Shell 实现,几乎遍及 Linux 系统。一个 Linux 系统中可以存在多个 Shell 实现,最常见的包括 sh、bash、ksh 等。要查询系统中可用的 Shell 类型,可以执行以下命令:

cat /etc/shells

Shell脚本编写

在开始编写 Shell 脚本之前,需要先了解一些基本概念。Shell 脚本与其他编程语言(如 C、Python)的区别在于,它是用一系列命令来定义ebin подум。

1. 创建 Shell 文档

在终端窗口中执行以下命令创建一个新的 Shell 脚本文件:

touch hello.sh

注意:.sh 后缀在 Linux 中本身没有特殊含义,其仅仅是提示该文件是Shell脚本。

2. 编写 Shell 脚本

在 Shell 脚本中,第一行需要声明当前使用的 Shell 版本,类似于 C语言的 include 语句。使用以下命令声明 bash:

#!/bin/bash

3. 执行 Shell 脚本

执行 Shell 脚本的方式是通过使用 shell 提供的 sh 命令。在终端窗口执行以下命令:

sh hello.sh

4. 变量

Shell 中的变量分为两种:系统变量和用户自定义变量。系统变量如 $HOME、$PWD 等,可以通过 set 命令显示。自定义变量的声明方式如下:

name="csdn" echo $name

注意:在定义变量时,要注意单引号和双引号的区别。单引号不会解析 \$,而双引号可以处理多个字符。

5. 转义字符

Shell 使用转义字符来处理特殊字符。例如,防止命令中 $ 被解析,可以使用单引号:

echo '$HOME'

6. 运算

Shell 提供了丰富的运算方式,常见的包括:

  • 使用第三个变量存储运算结果
  • 使用 expr 命令进行计算
  • 使用 [ ] 进行条件判断

示例:

a=10 b=3
c=$a + $b
echo $c

7. 循环

Shell 提供两种循环语句:forwhilefor 适用于固定次数循环,while 适用于条件控制循环。

for 循环
for n in 1 2 3 do
echo $n
done
while 循环
while [ $condition ]; do
# 循环体
done

8. case 语句

case 语句类似于 C 语言的 switch,适用于根据变量值选择不同的执行语句。

case $A in
1|2|3)
echo "A 的值是 $A"
;;
*
echo "A 的值不在 1-3 之间"
;;
esac

9. 条件语句

Shell 中的条件语句类似于 if-else 结构。if 语句可以通过 [ ] 表达条件,常用的运算符包括:

  • -eq(等于)
  • -ne(不等于)
  • -lt(小于)
  • -le(小于等于)

示例:

if [ $a -eq $b ]; then
echo "a 等于 b"
elif [ $a -lt $b ]; then
echo "a 小于 b"
else
echo "a 不等于 b 并且 a 不小于 b"
fi

10. 函数

Shell 支持自定义函数。函数定义如下:

function名() {
# 函数体
}

函数调用方式与调用其他命令相同。

11. 输入输出

read 命令用于读取用户输入,并存储到变量中。printfecho 命令用于输出信息。

示例:

read -p "请输入您的名字:" name
echo "您好,$name!"

变量管理

  • 撤销变量:使用 unset 命令撤销自定义变量。
unset name
  • 只读变量:使用 readonly 定义只读变量。
readonly name="csdn"
  • 变量内容:Shell 脚本中的变量可以存储字符串、数值和指令结果。例如:
count=10

常用命令

  • cat /etc/shells:查看系统中可用的 Shell 类型。
  • chmod +x filename.sh:为 Shell 脚本设置执行权限。

通过以上知识,您可以编写和运行基础的 Shell 脚本。

上一篇:Shell脚本之图形打印
下一篇:Oracle的一些常用函数

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月24日 03时38分31秒