Bash 脚本常用命令

一、基础命令

  1. echo:输出内容到屏幕或文件。

示例:输出"Hello, World!"到屏幕。

Bash 复制代码
echo "Hello, World!"
  1. pwd:显示当前工作目录。

示例:查看当前目录路径。

Bash 复制代码
pwd
  1. cd:改变当前工作目录。

示例:切换到用户主目录。

Bash 复制代码
cd ~
  1. ls:列出目录内容。

示例:列出当前目录所有文件和文件夹。

Bash 复制代码
ls

二、文件操作

  1. cat:查看文件内容。

示例:查看文件example.txt的内容。

Bash 复制代码
cat example.txt
  1. grep:在文件中搜索指定内容。

示例:在example.txt中搜索包含"error"的行。

Bash 复制代码
grep "error" example.txt
  1. awk:处理文本,读取文件字段。

示例:读取data.txt文件的第一列(默认以空格或制表符分隔)。

Bash 复制代码
awk '{print $1}' data.txt
  1. sed:流编辑器,用于对输入流(文件或管道)进行基本的文本转换。

示例:将example.txt中所有的"apple"替换为"orange"。

Bash 复制代码
sed 's/apple/orange/g' example.txt
  1. 读取文件示例

在 Bash 脚本中,你可以使用 grepawk 或者 sed 来读取 gradle.properties 文件的某个字段内容。这里是一个使用 grepawk 的示例:

假设你有一个 gradle.properties 文件,内容如下:

Properties 复制代码
versionName=1.0.0
versionCode=1
someOtherProperty=value

如果你想读取 versionName 字段的值,你可以使用以下 Bash 脚本:

Bash 复制代码
#!/bin/bash

# 指定gradle.properties文件的路径
GRADLE_PROPERTIES_FILE="path/to/your/gradle.properties"

# 使用grep和awk读取versionName字段的值
VERSION_NAME=$(grep "versionName" "$GRADLE_PROPERTIES_FILE" | awk -F'=' '{print $2}')

# 打印读取到的值
echo "versionName: $VERSION_NAME"

在这个脚本中:

  • grep "versionName" "$GRADLE_PROPERTIES_FILE" 会搜索包含 versionName 的行。
  • awk -F'=' '{print $2}' 会以 = 作为字段分隔符,并打印出第二个字段的值,也就是 versionName 对应的值。

三、字段操作示例

假设我们有一个名为data.txt的文件,内容如下:

Plain 复制代码
John 25 Engineer
Jane 30 Doctor
Bob 28 Lawyer
  1. 读取某个文件的字段

读取data.txt中每个人的名字(第一列):

Bash 复制代码
awk '{print $1}' data.txt
  1. 改写某个文件的字段

data.txt中每个人的年龄(第二列)增加 5 岁:

Bash 复制代码
awk '{$2 += 5; print}' data.txt > modified_data.txt

这里使用了awk的算术运算功能,$2 += 5表示将第二列的值增加 5,然后print输出整行内容到modified_data.txt

四、条件判断和循环

Bash 脚本中也经常用到条件判断和循环结构。

  1. if:条件判断。

示例:检查文件是否存在。

Bash 复制代码
if [ -f example.txt ]; then
    echo "File exists."
else
    echo "File does not exist."
fi
  1. for:循环遍历。

示例:遍历当前目录下的所有文件。

Bash 复制代码
for file in *; do
    echo "$file"
done
  1. while:当条件为真时循环。

示例:从 1 数到 5。

Bash 复制代码
count=1
while [ $count -le 5 ]; do
    echo "$count"
    count=$((count + 1))
done

五、其他常用命令

  1. touch:创建空文件或更新文件时间戳。

示例:创建一个新文件newfile.txt

Bash 复制代码
touch newfile.txt
  1. rm:删除文件或目录。

示例:删除文件example.txt

Bash 复制代码
rm example.txt
  1. cp:复制文件或目录。

示例:将file1.txt复制到file2.txt

Bash 复制代码
cp file1.txt file2.txt
  1. mv:移动或重命名文件或目录。

示例:将file1.txt重命名为file2.txt

Bash 复制代码
mv file1.txt file2.txt
相关推荐
yzzzzzzzzzzzzzzzzz3 分钟前
JavaScript 操作 DOM
开发语言·javascript·ecmascript
海绵宝宝汉堡包1 小时前
c# 项目 文件夹
开发语言·c#
小白要加油努力2 小时前
C++设计模式--策略模式与观察者模式
开发语言·c++·设计模式
小马学嵌入式~2 小时前
数据结构:队列 二叉树
c语言·开发语言·数据结构·算法
Slaughter信仰3 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第二章知识点问答(21题)
java·开发语言·jvm
John_ToDebug4 小时前
Chrome 内置扩展 vs WebUI:浏览器内核开发中的选择与实践
前端·c++·chrome
焊锡与代码齐飞4 小时前
嵌入式第三十五课!!Linux下的网络编程
linux·运维·服务器·开发语言·网络·学习·算法
KeithTsui5 小时前
GCC C语言整数转换的理解(Understanding of Integer Conversions in C with GCC)
c语言·开发语言·算法
秉承初心5 小时前
Node.js 开发 JavaScript SDK 包的完整指南(AI)
开发语言·javascript·node.js
云天徽上6 小时前
【数据可视化-96】使用 Pyecharts 绘制主题河流图(ThemeRiver):步骤与数据组织形式
开发语言·python·信息可视化·数据分析·pyecharts