开始你的shell脚本编程

Shell编程规范及变量 文章目录一.Shell脚本1.1Shell概述1.2Shell脚本 一.Shell脚本 1.1Shell概述 Shell是Linux系统中开机自动加载的一个特殊程序,它将用户输入的指令,转换成Linux内核可以识别的语言,从而让内核执行调用硬件。 Bash是Linux系统中默认使用shell的程序,它位于/bin/bash。 1.2Shell脚本 将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的 ... 阅读详情

原文链接
I love bash

对于我自己来说,学习新框架或技术的最佳方式是同时获得实践经验,在本文中,你将自己通过编写代码来学习shell脚本的基础知识!本文包含语法,shell脚本的基础知识到中级shell编程,通过这篇文章你可以学习shell的相关知识,并且通过shell来实现Unix/Linux之间的接口

1_qo-oir60xdhic3wjqpu64g

介绍

您可能已经多次遇到过“脚本”这个词,但脚本的的含义是什么意思呢?简单的来说,脚本是包含一系列要执行的命令。这些命令由解释器执行。一切你可以在命令行中输入的命令,你都可以把它放到脚本中。而且,脚本非常适合自动化任务。如果你发现自己频繁重复一些命令,你可以创建一个脚本来实现它!

welcome

The Linux philosophy is ‘Laugh in the face of danger’. Oops. Wrong One. ‘Do it yourself’. Yes, that’s it.
 — Linus Torvalds

我们的第一个脚本

script.sh

#!/bin/bash
echo "My First Script!"

运行脚本

$ chmod 755 script.sh # chmod +x script.sh
$ ./script.sh

1__0bdtxxmb9dowmvsztf6za

好流弊!你刚刚编写了你的第一个bash脚本。
我知道你不理解这个脚本,特别对于脚本中的第一行。不要担心我将在本文中详细介绍shell脚本,在进入任何主题之前,我总是建议在脑海中形成路线图或适当的内容索引,并明确我们将要学习的内容。
因此,以下是我们将在文章中讨论的一些要点。

  • 脚本解释器
  • 变量
  • 用户输入
  • 测试
  • 条件判断
  • 循环语句
  • 脚本参数传递
  • 退出状态码
  • 逻辑操作符
  • 函数
  • 通配符
  • 调试

所以,这将是我们讨论的顺序,在本文的最后,我相信你会有足够的信心编写自己的shell脚本:)
Happy Learning Guys

1_5w2fofcvl5fdk7oydjgihg

脚本解释器

你可以从上面脚本的第一行看到 #!/bin/bash 这行指定了你的程序将使用那个解释器,基本上是将路径引用到解释器。Linux/Unix中有很多解释器,其中一些是:bash,zsh,sh,csh和ksh等。

这里推荐一个玩命令行必须知道的一个开源项目oh-my-zsh

0_gp--jderqene-ood

All the best people in life seem to like LINUX. — Steve Wozniak

查看你的系统中有那些脚本解释器

cat /etc/shells

bash: #!/bin/bash
zsh: #!/bin/zsh
ksh: #!/bin/ksh
csh: #!/bin/csh
and so on…

注意⚠️
如果脚本不包含解释器,则使用你的默认shell执行命令,因此代码可能正常运行,虽然是这样,但是不推荐这样做,使用echo $SHELL可以知道你当前使用的解释器

注释
注释以#开始,#后面的内容会被解释器忽略,但是#!另当别论

变量
变量指向内存中的一块区域,变量有对应的变量名和值,可以存储一些可以在将来更改的数据,shell中定义变量不需要指定变量的类型

VARIABLE_NAME="Value"

当命名一个变量是你必须记得以下几点
* 变量名是区分大小写的
* 为了方便,变量名最好大写
* 要使用变量,必须在变量前面加$符号

例子?

#!/bin/bash
MY_NAME="shellhub"
echo "Hello, I am $MY_NAME"

OR

#!/bin/bash
MY_NAME="shellhub"
echo "Hello, I am ${MY_NAME}"

提示: 可以把命令执行后的输入结果赋值给一个变量

LIST=$(ls)
SERVER_NAME=$(hostname)

0_as7e7vxyi4ruobdb

合法的变量名

THIS3VARIABLE=”ABC”
THIS_IS_VARIABLE=”ABC”
thisIsVariable=”ABC”

不合法的变量名

4Number=”NUM”
This-Is-Var=”VAR”
# No special character apart from underscore is allowed!

用户输入

read 命令接收键盘的输入,标准输入(Standard Input)

read -p "PROMPT MESSAGE" VARIABLE

其中PROMPT MESSAGE为提示用户的信息,变量VARIABLE可以保存用户的输入,可以在程序中使用该变量

#!/bin/bash
read -p "Please Enter You Name: " NAME
echo "Your Name Is: $NAME"

测试

测试主要用于条件判断。[ condition-to-test-for ] ,如[ -e /etc/passwd ],注意的是[]前后必须有空格,如[-e /etc/passwd]是错误的写法

  1. 文件测试操作
-d FILE_NAM  # True if FILE_NAM is a directory
-e FILE_NAM  # True if FILE_NAM exists
-f FILE_NAM  # True if FILE_NAM exists and is a regular file
-r FILE_NAM  # True if FILE_NAM is readable
-s FILE_NAM  # True if FILE_NAM exists and is not empty
-w FILE_NAM  # True if FILE_NAM has write permission
-x FILE_NAM  # True if FILE_NAM is executable
  1. 字符串测试操作
-z STRING  # True if STRING is empty
-n STRING  # True if STRING is not empty
STRING1 = STRIN2 # True if strings are equal
STRING1 != STRIN2 # True if strings are not equal
  1. 算术测试操作
var1 -eq var2  # True if var1 is equal to var2
var1 -ne var2  # True if var1 not equal to var2
var1 -lt var2  # True if var1 is less than var2
var1 -le var2  # True if var1 is less than or equal to var2
var1 -gt var2  # True if var1 is greater than var2
var1 -ge var2  # True if var1 is greater than or equal to var2

条件判断

和其他编程语言一样,shell脚本也能基于条件进行判断,我们可以使用if-else或if-elif-else

0_lk05kvg-mx5did9l

Avoid the Gates of Hell. Use Linux!

  1. if 语句
if [ condition-is-true ]
then
  command 1
  command 2
    ...
    ...
  command N
fi

if-else

if [ condition-is-true ]
then
  command 1
elif [ condition-is-true ]
then
  command 2
elif [ condition-is-true ]
then
  command 3
else
  command 4
fi
  1. case语句
    case可以实现和if一样的功能,但是当条件判断很多的时候,使用if不太方便,比如使用if进行值的比较
case "$VAR" in
  pattern_1)
    # commands when $VAR matches pattern 1
    ;;
  pattern_2)
    # commands when $VAR matches pattern 2
    ;;
  *)
    # This will run if $VAR doesnt match any of the given patterns
    ;;
esac

例子?

#!/bin/bash
read -p "Enter the answer in Y/N: " ANSWER
case "$ANSWER" in
  [yY] | [yY][eE][sS])
    echo "The Answer is Yes :)"
    ;;
  [nN] | [nN][oO])
    echo "The Answer is No :("
    ;;
  *)
    echo "Invalid Answer :/"
    ;;
esac

迭代语句 - 循环

可以通过循环执行同一个代码块很多次
1. for循环

for VARIABLE_NAME in ITEM_1 ITEM_N
do
  command 1
  command 2
    ...
    ...
  command N
done

Example

#!/bin/bash
COLORS="red green blue"
for COLOR in $COLORS
do
  echo "The Color is: ${COLOR}"
done

Another Example

for (( VAR=1;VAR<N;VAR++ ))
do
  command 1
  command 2
    ...
    ...
  command N
done

在当前所有txt文件前面追加new实现重命名

#!/bin/bash
FILES=$(ls *txt)
NEW="new"
for FILE in $FILES
do
  echo "Renaming $FILE to new-$FILE"
  mv $FILE $NEW-$FILE
done
  1. while 循环
    当所给的条件为true时,循环执行while里面的代码块
while [ CONNDITION_IS_TRUE ]
do
  # Commands will change he entry condition
  command 1
  command 2
    ...
    ...
  command N
done

判断条件可以是任意的测试或者命令,如果测试或命令返回0,则表示条件成立,如果为非0则退出循环,如果一开始条件就不成立,则循环永远不会执行。
如果你不知道退出状态码是什么请不要担心,我后面会告诉你 :)

0_rs8u95tcmwukmaqm

例子 一行一行读取文件内容

#!/bin/bash
LINE=1
while read CURRENT_LINE
do
  echo "${LINE}: $CURRENT_LINE"
  ((LINE++))
done < /etc/passwd
# This script loops through the file /etc/passwd line by line

注意⚠️
continue 用于结束本次循环
break 用于结束整个循环

参数传递

当我们运行脚本的时候,可以传递参数供脚本内部使用$ ./script.sh param1 param2 param3 param4
这些参数将被存储在特殊的变量中

$0 -- "script.sh"
$1 -- "param1"
$2 -- "param2"
$3 -- "param3"
$4 -- "param4"
$@ -- array of all positional parameters

这些变量可以在脚本中的任何地方使用,就像其他全局变量一样

退出状态码

任何一个命令执行完成后都会产生一个退出状态码,范围0-255,状态码可以用来检查错误
* 0 表示正确执行并正常退出
* 非0表示执行过程中出错,没有正常退出

上一条命令执行后的退出状态码被保存在变量$?中

例子 使用ping检查主机和服务器之间是否可以抵达

#!/bin/bash
HOST="google.com"
ping -c 1 $HOST     # -c is used for count, it will send the request, number of times mentioned
RETURN_CODE=$?
if [ "$RETURN_CODE" -eq "0" ]
then
  echo "$HOST reachable"
else
  echo "$HOST unreachable"
fi

自定义退出状态码
默认的状态码是上一条命令执行的结果,我们可以通过exit来自定义状态码

exit 0
exit 1
exit 2
  ...
  ...
exit 255

逻辑操作符

shell脚本支持逻辑与和逻辑或
逻辑与 &&
逻辑或 ||

Example
mkdir tempDir && cd tempDir && mkdir subTempDir
这个例子中,如果创建tempDir成功,执行后面的cd,继续创建subTempDir

函数

可以把一些列的命令或语句定义在一个函数内,从程序的其他地方调用

0_a9vgsszcprsdt9hx

注意⚠️
* 函数包含了一些列你要重复调用的指令(函数必须先定义后调用)
* 把函数定义在程序开始或主程序之前是一个最佳实践

语法

function function_name() {
    command 1
    command 2
    command 3
      ...
      ...
    command N
}

调用函数 简单的给出函数名字

#!/bin/bash
function myFunc () {
    echo "Shell Scripting Is Fun!"
}
myFunc # call

函数参数传递

和脚本一样,也可以给函数传递参数完成特殊的任务,第一个参数存储在变量$1中,第二个参数存储在变量$2中…,$@存储所有的参数,参数之间使用空格分割 myFunc param1 param2 param3 ...

变量的作用范围

全局变量: 默认情况下,shell中的变量都定义为全局变量,你可以从脚本中的任何位置使用变量,但是变量在使用之前必须先定义
本地变量: 本地变量只能在方法内部访问,可以通过local关键词定义一个本地变量,定义一个本地变量的最佳实践是在函数内部

通配符

使用通配符可以完成特定的匹配
一些常用的通配符
* 可以通配一个或多个任意字符

*.txt
hello.*
great*.md

?匹配一个字符

?.md
Hello?

[]匹配括号内部的任意一个字符

He[loym], [AIEOU]

[!]不匹配括号内的任何字符

`[!aeiou]`

预先定义的通配符
* [[:alpha:]]
* [[:alnum:]]
* [[:space:]]
* [[:upper:]]]
* [[:lower:]]
* [[:digit:]]

匹配通配符 有些情况下我们想匹配*或?等特殊字符,可以使用转义字符
\*
\?

调试

0_tkeark2bzm7xxvsb

bash提供一些可选项帮助你调试程序
Some Options:
1. -x option
它在执行时打印命令和参数。它被称为打印调试,跟踪或x跟踪。我们可以通过修改第一行来使用它
2. -e option
它代表“出错”。如果命令以非零退出状态退出,这将导致脚本立即退出。
3. -v option
它在读取时打印shell命令/输入行。

注意:这些选项可以组合使用,一次可以使用多个选项!

#!/bin/bash-xe
#!/bin/bash-ex
#!/bin/bash-x-e
#!/bin/bash-e-x

尽管有许多工具可用于帮助调试,但只有在了解其工作原理的情况下才能调试代码。所以,确保花足够的时间实际练习编写脚本并自己调试它们,这样你就可以知道你可以犯错误的地方,这样你就不会再这样做:)

Windows 11 安装 JDK 11:下载、安装、配置环境变量、验证 本文详细介绍了在 Windows 11 系统中安装 JDK 11 的完整流程,包括从 Oracle 官网下载压缩包、解压到自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章还包含一个专为 JDK 11 新特性设计的测试程序,涵盖 Lambda 表达式 var 语法、HTTP 客户端 API、字符串增强方法等,帮助读者确认安装版本正确无误,适合初学者和需要多版本 JDK 共存的开发者参考。 阅读详情

相关推荐

手把手教你用Multisim仿真ADC接口电路(附峰值采样与电平抬升实战)

本文通过Multisim软件,手把手教学如何构建高保真ADC前端信号调理电路。核心实战内容包括峰值采样保持电路与电平抬升电路的设计、仿真与调试,旨在解决模拟信号接入ADC时遇到的幅度不匹配、负电压等问题,帮助电子设计者快速掌握关键接口电路的实现技巧。

ooo22的博客 259

linux脚本打开文件任意行,shell脚本语言(超全超详细)

shell脚本语言1、shell的概述2、脚本的调用形式打开终端时系统自动调用:/etc/profile 或 ~/.bashrc3、shell语法初识3.1、定义以开头:#!/bin/bash3.2、单个"#"号代表注释当前行第一步:编写脚本文件第二步:加上可执行权限第三步:运行三种执行方式 (./xxx.sh bash xxx.sh . xxx.sh)./xxx.sh :先按照 文件中#!指定的...

weixin_33767088的博客 3010

TensorRT-LLM.V1.1.0rc0:在无 GitHub 访问权限的服务器上编译 TensorRT-LLM 的完整实践

1.NGC上的预构建发布容器进行部署,见《2.通过pip进行部署。3.从源头构建再部署。在实际开发中,我们常常面临这样的场景:本地笔记本为 Windows 系统,虽然可以访问 GitHub,但受限于硬件性能,编译大型项目(如 TensorRT-LLM)耗时过长;而公司或实验室提供的 Linux 服务器性能强劲,适合编译任务,但却因网络策略限制无法连接外网,尤其是无法访问 GitHub。。

xinvictory的专栏 1203

shell脚本

一、shell简介 shell是Linux系统的用户界面,它提供用户与内核的一种交互方式。它接收用户输入的命令,并把它送入内核去执行,是一个命令解释器。 shell脚本就是将命令写入文本中,文本可以被执行。 二、脚本的调用形式 打开终端时系统自动调用:/etc/profile 或 ~/.bashrc /etc/profile 此文件为Linux系统为每个用户设置环境变量,当用户第一次登陆时,该文件会被执行。系统的公共环境变量在这里设置 开始自启动的程序,一般也在这里设置。 ~/.bashrc 用户自己的家

weixin_48006170的博客 10万+

DAZ STUDIO 快速渲染技巧

DAZ STUDIO 快速渲染技巧: 本文将向您展示几个快速渲染技巧。您将学习如何使您的Daz Iray渲染和照明在Daz工作室内更快。 当你有一个大场景,这可能需要很多小时进行渲染。 但是如果你想大幅度降低渲染时间呢?这篇文章的提示应该能让你达到这个目标。 首先,我们需要弄清楚一件事——没有“完美的环境或设置”这样的东西。是因为渲染设置是高度个性化和主观性的东西,这主要取决于场景和硬件。如果你有一个功能强大的计算机,你可以允许更多的低渲染时间,反之亦然。因此,一切都取决于您尝试渲染的对象和机器。

DAZSTUDIO的博客 9645

爬取国家统计局最近10年年度数据

一、编码流程 1.目标网址:https://data.stats.gov.cn/easyquery.htm?cn=C01 2.编码思路: (1) 解析左侧指标树,实现4级标签定位 (难点:层层嵌套,下一级指标的xpath路径以上一级指标为基础;不是所有二级指标都含有三和四级指标,需要进行判断) (2) 使用selenium webdriver 点选指标,加载出右侧表格数据 (难点:当指标无法在全局页面显示时,需向下拖动滚动条) (3) 解析右侧数据,实现数据存储 3.使用模块: (1) selenium:解

weixin_39645690的博客 4557

shell脚本详解

目录 一、shell脚本的详细介绍1.1 基础概念1.2 几种常见的Shell1.3 Shell与编译型语言的差异1.4 什么时候使用Shell二、shell脚本的使用2.1 建立和运行shell程序2.2 shell变量2.3 shell特殊变量2.4 常用shell内嵌命令2.5 条件测试三、shell脚本编程基础知识3.1 shell基本运算符3.2 shell条件语句3.3 shell循环类型四、shell数组五、shell函数5.1 创建函数:5.2 参数传递给函数:5.3 从函数的返回值:5.4

创作不易,请多支持,将为本站提供更多「有价值的文章」。 2万+

【WRF安装第三期(Ubuntu)】搭建WRF编译所需系统-第三方依赖库安装

WRF安装第三期:搭建WRF编译所需系统-第三方依赖库安装

WW、forever的博客 3137

Shell脚本

文章目录第 1 章 shell基础1.1 运维&shell[了解]1.1.1 运维基础1.1.2 shell简介1.2 shell脚本[记忆]1.2.1 创建脚本1.2.2 脚本使用1.3 变量[应用]1.3.1 什么是变量1.3.2 本地变量1.3.3 全局变量1.3.4 查看&删除1.3.5 内置变量第 2 章 核心知识[应用]2.1 表达式2.1.1 测试语句2.1.2 条件表达式2.1.3 计算表达式2.1.4 数组操作2.2 linux常见符号2.2.1 重定向2.2.2 管道符

XiaoPawnYe的博客 1万+

Pointnet++改进90:2025最新改进模块-EVA模块

本教程提出了一种改进PointNet++特征提取模块的方法,通过在PointNetSetAbstraction模块中加入NAMAttention注意力机制,显著提升了模型性能。具体改进包括:1)新建eva.py文件,实现了包含SDLSKA、CKS等关键组件的EVA模块;2)在pointnet2_utils.py中添加Conv和PointNetSetAbstractionAttention类,整合注意力机制;3)修改pointnet2_sem_seg.py模型结构。这种改进方法降低了实现难度,同时保持了33F

AIcurator的博客 361

【AutoCAD中实现双击文本编辑功能】

例如:以下是官方博客例子浅析先加入相关的头文件和库文件。在AutoCAD中有一个很重要的功能,就是双击图形尺寸或文本后会出现一个文本编辑框,用户可在该编辑框中修改文字。本文介绍了如何使用AcEdInplaceTextEditor来实现该功能。实现cad的消息监听。创建一个消息监听的类并在cad中注册来实现消息监听。主要是监听键盘输入。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。

我的博客 1149

linux shell编程、bash编程、shell教程、bash教程、shell文档、bash文档、shell脚本、bash脚本【教程】第一章:Shell编程 第二章:Sha-Bang(#!)开始

原文:http://shouce.jb51.net/shell/ 文章目录第一部分:简介第一章:为什么要有Shell编程?第二章:从一个Sha-Bang(#!)开始例子 2-1. cleanup: 一个清空/var/log目录下的日志文件的脚本例子 2-2. cleanup: 一个改进版的cleanup脚本例子 2-3. cleanup: 一个上面脚本的增强版,但不能处理错误例子:测试脚本是否被正确的数目参数调用2.1. 运行脚本2.2. 预备练习命令杂烩 第一部分:简介 Shell是一个命令解释器。它不仅

Dontla的博客 647

YOLOv11 损失函数解析

YOLOv11 在 YOLO 系列的持续演进中,通过 ​多模态损失协同优化、动态任务感知机制 和 ​超轻量化设计,实现了检测精度与推理效率的再突破。其损失函数设计融合了前沿的几何建模、分布学习与自监督技术,显著提升了复杂场景下的鲁棒性。

浩瀚之水的专栏 6702

vi新建一个shell脚本_Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。使用shell编写的程序类似于DOS下的批处理程序,简单来说,shell编程就是对一系列Linux命令的逻辑化处理。例如,我们在进行自动化测试的时候,需要将代码部署到服务器进行管理和集成,每次都要执行拉取最新的代...

weixin_39959335的博客 859

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。

软件自动化测试技术交流、资源分享 190

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux shell脚本 bash,开始你的bash/shell脚本编程

I love bash对于我自己来说,学习新框架或技术的最佳方式是同时获得实践经验,在本文中,你将自己通过编写代码来学习shell脚本的基础知识!本文包含语法,shell脚本的基础知识到中级shell编程,通过这篇文章你可以学习shell的相关知识,并且通过shell来实现Unix/Linux之间的接口1_qo-oir60xdhic3wjqpu64g介绍您可能已经多次遇到过“脚本”这个词,但脚本的...

weixin_42327743的博客 298

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

30个实例带你从零开始玩转Linux Shell脚本编程,成为Shell大神!

引言大家好,我是一位永远怀着学习的心态的Linux和Python技术持续学习者,在今天的文章中,我将向大家分享一些有趣而实用的Linux Shell脚本编程例子,通过这些例子,你可以系统地学习和掌握Shell脚本编程,从入门到精通。让我们开始这个令人兴奋的编程之旅吧!要求环境在跟随本教程的过程中,你需要准备以下环境:一台运行Linux操作系统的计算机任何一种基本的文本编辑器,如Vim、Nano等实...

ouyangzhenxin的博客 6312

redchat怎么编写shell脚本_Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。使用shell编写的程序类似于DOS下的批处理程序,简单来说,shell编程就是对一系列Linux命令的逻辑化处理。例如,我们在进行自动化测试的时候,需要将代码部署到服务器进行管理和集成,每次都要执行拉取最新的代...

weixin_39671964的博客 94

shell 封装方法_Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。使用shell编写的程序类似于DOS下的批处理程序,简单来说,shell编程就是对一系列Linux命令的逻辑化处理。例如,我们在进行自动化测试的时候,需要将代码部署到服务器进行管理和集成,每次都要执行拉取最新的代...

weixin_40000457的博客 1781

linuxshell编程_Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。使用shell编写的程序类似于DOS下的批处理程序,简单来说,shell编程就是对一系列Linux命令的逻辑化处理。例如,我们在进行自动化测试的时候,需要将代码部署到服务器进行管理和集成,每次都要执行拉取最新的代...

weixin_39946300的博客 319

Shell脚本系列教程二: 开始Shell编程

Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) 脚本写好之后, 要给脚本设置可执行权限: 语法为: chmod [option] mode script-name $ chmod +x script-name # 对所有用户(...

weixin_30294021的博客 248

【从零开始的嵌入式生活】LinuxC语言——shell脚本编程

前言 今天是2021年的第五天,又断更了呀,我尽量摆脱游戏。陪大家一起学习0.0。 三连即可提高学习效率0.0 ????????作者简介:一个学嵌入式的年轻人 ✨联系方式:2201891280(QQ) ????源码地址:https://gitee.com/xingleigao/study_qianrushi ⏳全文大约阅读时间: 60min 文章目录前言shell编程-变量shell脚本的基础知识shell脚本的本质shell 编程的基本过程shell变量用户自定义变量位置变量常用shell环境变量s

XingleiGao的博客 2147

linux shell删除归档_Linux Shell编程编程入门:从第一个Shell脚本开始吧

Shell不仅是一种命令解释器,还是一种编程语言,非常擅长处理文本类型的数据。由于Linux系统中的所有配置文件都是纯文本的,所以shell编程语言在Linux系统使用中发挥了巨大的作用。使用shell编写的程序类似于DOS下的批处理程序,简单来说,shell编程就是对一系列Linux命令的逻辑化处理。例如,我们在进行自动化测试的时候,需要将代码部署到服务器进行管理和集成,每次都要执行拉取最新的代...

weixin_39818521的博客 75
下一篇: 你真的知道JAVA中抽象类和接口的区别么?
ishellhub
博客等级 码龄9年 102粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值