返回

Linux Shell学习笔记第五天:变量、运算符与控制流

电脑技巧

驾驭 Shell 脚本的变量、运算符和控制流

欢迎来到 Shell 脚本编程的奇妙世界!在这个脚本领域中,变量、运算符和控制流语句是构建强大且高效脚本的关键。让我们深入探索这些概念,掌握它们的使用,并提升您的脚本技能。

揭开变量的面纱

变量是 Shell 脚本中的数据容器,就像现实世界中的箱子,用于存储各种类型的信息。定义变量很简单:只需将变量名与一个等号(=)和要存储的值配对即可。例如,要将名字存储在一个名为“name”的变量中,我们可以写成:

name="John Doe"

现在,要使用变量,只需在变量名前加上美元符号($)即可。例如,要打印“John Doe”,我们可以写成:

echo $name

运算符:数学和逻辑的工具箱

运算符是 Shell 脚本中的特殊符号,它们对变量和常量执行数学和逻辑运算。它们就像工具箱中的工具,使我们能够操纵数据并进行计算。这里列出一些最常用的运算符:

算术运算符:

  • 加法(+)
  • 减法(-)
  • 乘法(*)
  • 除法(/)
  • 取余(%)
  • 幂(**)

比较运算符:

  • 等于(==)
  • 不等于(!=)
  • 大于(>)
  • 小于(<)
  • 大于等于(>=)
  • 小于等于(<=)

逻辑运算符:

  • 与(&&)
  • 或(||)
  • 非(!)

赋值运算符:

  • 等于(=)
  • 加等于(+=)
  • 减等于(-=)
  • 乘等于(*=)
  • 除等于(/=)
  • 取余等于(%=)

控制流:掌控代码执行的艺术

控制流语句允许我们控制 Shell 脚本中代码执行的顺序。就像交通指示牌指引车辆一样,这些语句引导脚本沿着正确的路径。以下是最重要的控制流语句:

if/else 语句: 根据条件执行不同的代码块,就像在十字路口选择不同的道路。
for 循环: 重复执行一段代码块多次,就像沿着一条风景优美的公路循环行驶。
while 循环: 只要某个条件为真,就不断执行一段代码块,就像等待红绿灯变绿一样。
until 循环: 只要某个条件为假,就不断执行一段代码块,就像在等待某人完成任务一样。
case 语句: 根据变量的值执行不同的代码块,就像在菜单中选择不同的菜肴。

实践使完美:代码示例

为了帮助您巩固这些概念,这里提供一些代码示例:

使用变量:

#!/bin/bash

# 定义变量
name="John Doe"
age=30

# 使用变量
echo "Name: $name"
echo "Age: $age"

使用运算符:

#!/bin/bash

# 定义变量
num1=10
num2=20

# 使用运算符
sum=$((num1 + num2))
echo "Sum: $sum"

if [ $num1 -gt $num2 ]; then
  echo "$num1 is greater than $num2"
else
  echo "$num1 is not greater than $num2"
fi

使用控制流:

#!/bin/bash

# 定义变量
choice="y"

# 使用控制流
case $choice in
  "y")
    echo "You chose yes"
    ;;
  "n")
    echo "You chose no"
    ;;
  *)
    echo "Invalid choice"
    ;;
esac

常见问题解答

1. 变量和常量的区别是什么?
变量可以更改,而常量则不能。

2. 如何比较两个字符串?
可以使用字符串比较运算符,如“==”和“!=”。

3. 什么是嵌套控制流?
嵌套控制流是在另一个控制流语句内使用一个或多个控制流语句。

4. 如何从用户获取输入?
可以使用“read”命令从用户获取输入。

5. 如何创建数组?
可以使用“declare”命令创建数组。

结论

掌握 Shell 脚本中的变量、运算符和控制流是迈向高级脚本编程的垫脚石。通过练习和探索,您可以熟练地操纵数据、执行运算并控制代码执行。愿这些概念点亮您的脚本之旅,并赋予您构建强大而高效的 Shell 脚本的信心。