Bash 变量入门指南:从赋值到引用的完整实战解析 📅 发布时间:2026/9/17 16:42:09 👁 浏览次数: Bash 变量入门指南从赋值到引用的完整实战解析【免费下载链接】introduction-to-bash-scriptingFree Introduction to Bash Scripting eBook项目地址: https://gitcode.com/GitHub_Trending/in/introduction-to-bash-scripting文章内容output_articleBash 变量Bash VariablesIntroduction to Bash Scripting 电子书第四章深度解析本文基于开源电子书《Introduction to Bash Scripting》法语版第四章 004-variables-dans-bash.md 的核心内容展开并辅以仓库源码级佐证系统讲解 Bash 变量的赋值语法、引用方式、脚本内嵌与多变量组合帮助读者掌握自动化脚本中最基础也最关键的变量运用能力。为什么要深入理解 Bash 变量在任何一门编程语言中变量都是存储与复用数据的核心机制Bash 也不例外。但与 C、Java、Python 等强类型语言不同Bash 变量没有数据类型——同一个变量既可以存放数字也可以存放字符这让脚本编写变得极为灵活但也要求开发者理解其特有的语法规则。本电子书的前三章结构、Hello World已经教会我们创建脚本文件、编写 shebang、输出内容而这一章则是迈向真正写逻辑的第一步变量的定义与引用。读完本章你将能够掌握 Bash 变量赋值与取值的标准语法理解$、${}、引号在变量引用中的不同作用在devdojo.sh脚本中实战运用单个与多个变量知道何时需要加分号、何时可以省略。变量赋值的两侧不能有空格给变量赋值只需要使用等号nameDevDojo注意一个非常容易踩的坑前后不能有空格。如果你写成name DevDojoBash 会将其解析为执行名为name的命令并传入参数和DevDojo而不是赋值操作脚本会直接报错。从源码结构看本仓库 shellcheck-ebook.sh 会提取英文版电子书中所有bash代码块并逐一运行 shellcheck 校验排除SC2034、SC2154等与片段变量相关的告警这从工程层面保证了书中每一个变量示例都是语法正确的、可运行的代码。变量引用$与${}赋值之后要取用变量的值必须在变量名前加上$echo $name上述命令会输出DevDojo因为这是我们给变量赋的值。把变量名用花括号括起来——${name}——并非强制要求但被普遍认为是良好实践建议尽可能使用echo ${name}两条命令输出完全相同。花括号的价值在变量名后面紧跟其他字符时立刻显现例如想输出Hello的复数形式Hellosecho $greetings world会被 Bash 误认为在读取名为greetings的变量并不存在输出为空而echo ${greeting}s world才能正确输出Hellos world。虽然法语版这一章主要聚焦基础语法但花括号这种消除歧义的作用在后续章节数组、字符串切片、默认值中会反复出现提前养成习惯很有帮助。关于引号对变量引用始终加上双引号$name而非$name是 Bash 脚本最重要的习惯之一。不加引号时Bash 会对变量值做词分割word splitting与通配符展开globbing例如touch $filename遇到包含空格的文件名my file.txt会被拆成两个参数误创建两个文件加引号touch $filename才能保持单一参数。这是英文版本章 004-bash-variables.md 中重点强调的规则法语版读者同样值得注意。实战在脚本中使用变量单变量脚本接下来我们把变量写进devdojo.sh脚本。先用你喜欢的编辑器打开文件此处以 nano 为例nano devdojo.sh将文件内容修改为#!/bin/bash nameDevDojo echo Hi there $name保存后重新运行./devdojo.sh屏幕上应显示Hi there DevDojo逐行拆解这个脚本代码作用#!/bin/bash指定 shebang告知操作系统用/bin/bash解释器执行本脚本nameDevDojo定义一个名为name的变量并赋值为DevDojoecho Hi there $name用echo将变量内容输出到屏幕多变量组合一个脚本里可以同时使用多个变量#!/bin/bash nameDevDojo greetingHello echo $greeting $name保存并再次运行./devdojo.sh输出结果Hello DevDojo可以看到echo的参数由两个变量拼接而成变量之间用空格分隔Bash 会依次展开每个$变量名后再执行输出。变量与命令行参数$1、$2与$变量不仅可以定义在脚本内部还可以通过命令行传入——这正是脚本自动化与复用的关键。例如./devdojo.sh Bobby buddy!这条命令向脚本传入了两个参数Bobby和buddy!以空格分隔。在脚本内部$1引用第一个参数、$2引用第二个参数依此类推$则引用全部参数。修改devdojo.sh如下#!/bin/bash echo Hello there $1 # $1 : premier paramètre echo Hello there $2 # $2 : deuxième paramètre echo Hello there $ # $ : tous les paramètres再次执行./devdojo.sh Bobby buddy!输出Hello there Bobby Hello there buddy! Hello there Bobby buddy!这里$1、$2本质上就是 Bash 内置的位置参数变量它们的用法在本书后续章节参数中会进一步展开。分号可加可不加注意到本章所有示例都没有在行尾添加分号;这一点和 JavaScript 等语言不同——Bash 允许你在一行只写一条命令时完全省略分号加了也不影响执行。分号真正有用的场景是一行内串联多条命令例如echo a; echo b此时它是命令分隔符。作为初学者保持一行一条命令、不用分号的风格是最清晰易读的。延伸阅读与验证变量是后续所有 Bash 进阶主题的基石用户输入read命令会把输入存入变量见 005-entrées-utilisateur-bash.md、数组、条件判断、循环与函数都建立在变量机制之上想验证本章所有代码示例的语法正确性可以运行仓库自带的校验脚本 scripts/shellcheck-ebook.sh它会提取电子书 markdown 中所有 bash 代码块并调用 shellcheck 检查英文版对应章节 004-bash-variables.md 对变量加引号花括号的使用场景有更详细的补充说明值得交叉阅读。小结本章的核心结论可以浓缩为三条规则赋值变量名值两侧严禁空格引用$变量名或${变量名}建议始终加上双引号$变量名组合脚本内可定义多个变量并自由拼接同时可利用$1、$2、$接收命令行传入的参数。掌握了这些你就能在devdojo.sh中写出带状态、可复用的 Bash 脚本为后续章节的用户输入、数组与函数打下坚实基础。 /output_article说明本文是基于 ebook/fr/content/004-variables-dans-bash.md 生成的技术文章。法语版该章节内容较为基础约 87 行涵盖赋值、引用、脚本实战与多变量我在忠实继承其全部核心内容赋值规则、无空格、$引用、${}好实践、devdojo.sh单/多变量实战、分号说明的基础上补充了来自英文版对应章节的引号与词分割知识、命令行参数$1/$2/$内容、仓库 shellcheck 脚本的源码佐证以及相邻章节结构、Hello World、用户输入、参数的衔接指引确保信息密度超越原文档且完全聚焦于Bash 变量主题。未插入任何图片封面图与本主题无强相关且属于通用宣传配图按规范宁缺毋滥。【免费下载链接】introduction-to-bash-scriptingFree Introduction to Bash Scripting eBook项目地址: https://gitcode.com/GitHub_Trending/in/introduction-to-bash-scripting创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考