0%

Shell 循环语句:for、while、until 及循环控制

循环是 Shell 脚本中实现重复执行任务的核心结构,Bash 提供了 forwhileuntil 三种循环语句,以及 breakcontinue 等控制命令。掌握这些工具能高效处理批量任务(如文件处理、日志分析等)。

for 循环:遍历列表或范围

for 循环适合已知循环对象集合的场景,有两种语法形式。

列表遍历语法(基础形式)

1
2
3
4
5
for 变量 in 列表
do
命令1
命令2
done
  • 列表:可以是直接给出的值、文件通配符、命令输出等。
  • 变量:每次循环从列表中取一个值赋值给变量。
示例 1:遍历固定值列表
1
2
3
4
5
6
#!/bin/bash
# 遍历一周的天数
for day in 周一 周二 周三 周四 周五 周六 周日
do
echo "今天是 $day"
done

输出:

1
2
3
4
今天是 周一
今天是 周二
...
今天是 周日
示例 2:遍历文件列表
阅读全文 »

Scala 入门:基础语法与运行机制解析

Scala 作为一门融合了面向对象和函数式编程的多范式语言,因与 Spark 等大数据框架的深度结合而广泛流行。本文从一个简单示例出发,带你快速了解 Scala 的基础语法和运行机制。

第一个 Scala 程序

示例代码:Hello World

1
2
3
4
5
6
object Hello {
// 定义主方法,程序入口
def main(args: Array[String]): Unit = {
println("Hello, Scala!")
}
}

代码解析

  • object:声明一个 “伴生对象”(Singleton 对象),类似 Java 中的单例类,整个程序中只存在一个实例。
  • def:用于定义方法,main 是程序的入口方法(与 Java 类似)。
  • 参数与返回值:
    • args: Array[String]:方法参数,args 是参数名,Array[String] 是类型(Scala 中类型写在参数名后,用冒号分隔)。
    • : Unit:表示返回值为空,相当于 Java 中的 void
  • println:输出语句,底层调用 Scala 标准库的 Predef.println 方法。

编译与运行

编译 Scala 代码

使用 scalac 命令编译 .scala 文件(类似 Java 的 javac):

阅读全文 »

Shell 中的判断语句:test、[] 与 [[]] 的全面用法

在 Shell 脚本中,判断语句是实现条件逻辑的基础。无论是文件类型检查、权限验证,还是数值 / 字符串比较,都需要通过判断语句实现。本文详细讲解 test 命令、[ ][[ ]] 三种判断方式的用法及差异。

判断语句的三种形式

Shell 中常用的判断形式有三种,功能类似但语法略有差异:

形式 说明 兼容性
test 条件 基础判断命令 所有 Shell 兼容
[ 条件 ] test 命令的简化写法(注意空格) 所有 Shell 兼容
[[ 条件 ]] Bash 扩展语法,支持更多特性 仅 Bash、Zsh 等现代 Shell 支持

基本用法示例

三种形式可以互换,结果完全一致:

1
2
3
4
# 判断文件是否为目录
test -d /etc && echo "是目录" || echo "不是目录"
[ -d /etc ] && echo "是目录" || echo "不是目录"
[[ -d /etc ]] && echo "是目录" || echo "不是目录"

输出均为是目录

文件类型判断

用于检查文件是否存在及类型(目录、普通文件等),常用选项如下:

阅读全文 »

Shell 流程控制:if 条件判断与 case 分支语句

流程控制是 Shell 脚本的核心功能,通过 ifcase 语句可以实现根据不同条件执行不同命令的逻辑。本文将详细讲解这两种语句的语法、用法及注意事项。

if 条件判断语句

if 语句通过判断条件的真假来执行不同的命令块,支持单分支、双分支和多分支结构。

基本语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 单分支
if 条件
then
命令1
命令2
fi

# 双分支
if 条件
then
条件为真时执行
else
条件为假时执行
fi

# 多分支
if 条件1
then
条件1为真时执行
elif 条件2
then
条件2为真时执行
else
所有条件都为假时执行
fi
阅读全文 »

Linux 统计命令详解:wc 命令的全方位应用

在 Linux 系统中,wc(Word Count)命令是用于统计文本文件内容的实用工具,可快速计算文件的行数、单词数、字符数和字节数。无论是处理日志文件、分析数据还是脚本编写,wc 都能提供高效的统计支持。本文将详细介绍 wc 命令的用法、选项及实战示例。

wc 命令的基本语法

wc 命令的基本格式如下:

1
wc [选项] 文件名/文件列表

若不指定文件名,wc 会从标准输入(如管道传递的数据)中读取内容并统计。

核心选项与功能

wc 命令通过不同选项实现不同维度的统计,常用选项如下:

选项 功能描述 说明
-l 统计行数 以换行符(\n)为行结束标志,空行也会被计入。
-w 统计单词数 以空格、制表符(\t)或换行符分隔的字符串视为一个单词,连续分隔符视为一个。
-m 统计字符数 包括所有字符(字母、数字、符号、空格、换行符等),支持多字节字符(如中文)。
-c 统计字节数 以字节为单位计数,与字符数的区别在于:单字节字符(如英文)两者相同,多字节字符(如中文)则不同(如 UTF-8 中一个中文字符占 3 字节)。
阅读全文 »