📜  从 shell 脚本开始 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:06:32.448000             🧑  作者: Mango

从 shell 脚本开始 - Shell-Bash

Shell 是一种脚本语言,用于自动化任务和系统管理.本指南将介绍 Shell/Bash 脚本编程的基础知识。

Shell 实现

Shell 是一个命令解释器,它接收用户输入的命令并将其转换为 OS 能够理解和执行的形式。 Shell 可以由多种不同的软件实现,其中最常用的是 Bash(Bourne-Again SHell)。

脚本文件

Shell 脚本通过 .sh 后缀的文件进行保存, 执行脚本时需要添加执行权限 (chmod +x filename.sh)。

以下是一个简单的 Bash 脚本示例:

#!/bin/bash

echo "Hello World!"

脚本的第一行 #!/bin/bash 表示要使用 Bash 解释器执行该脚本。 echo "Hello World!" 是脚本的一个命令, 它在屏幕上打印 "Hello World!"。

变量

在 Shell/Bash 中,通过 $ 符号来获取变量的值,如:

hello="Hello World"
echo $hello

以上脚本将打印以下内容:

Hello World

还可以将命令执行结果赋给变量:

files=$(ls /)
echo $files

以上脚本将打印目录 / 下的所有文件。

读取用户输入

使用 read 命令可以从用户获取输入:

echo "What is your name?"
read name
echo "Hello, $name!"

以上脚本将请求用户输入他们的名字,并打印 Hello, 后面跟随输入的名字。

条件语句

Shell/Bash 中的条件语句基于 if 和 else 关键字。

if [ $1 -gt 100 ]
then
  echo "Number is greater than 100"
else
  echo "Number is less than or equal to 100"
fi

以上脚本接受一个输入参数 $1,如果该参数大于 100,则打印 "Number is greater than 100",否则打印 "Number is less than or equal to 100"。

循环

Shell/Bash 中的循环基于 while 和 for 关键字。

for i in {1..5}
do
  echo "$i"
done

上述脚本将打印数字 1 到 5。

counter=0
while [ $counter -lt 5 ]
do
  echo "Counter = $counter"
  ((counter++))
done

上述脚本将打印数字 0 到 4。

函数

Shell/Bash 中的函数定义可以在脚本中进行:

function greet {
  echo "Hello, $1!"
}

greet "Alice"

上述脚本将打印 "Hello, Alice!"。该脚本定义了一个 greet 函数,该函数接受一个名字作为参数,并使用该名称向用户打招呼。

结论

Shell/Bash 脚本编程是自动化任务和系统管理的重要手段。本指南涵盖了 Shell/Bash 基础知识的重要部分,包括变量、条件语句、循环和函数。更重要的是,它提供了一个起点来深入了解 Shell/Bash 脚本编程。