在使用 Linux 系统进行开发、运维或自动化任务时,你经常会遇到 Shell 参数 和 环境变量。它们是 Shell 脚本中非常基础但又极其重要的概念。本文将用通俗易懂的方式,带你从零开始理解并掌握这两个核心知识点。
Shell 参数指的是我们在运行脚本或命令时传入的额外信息。比如:
./myscript.sh hello world
在这个例子中,hello 和 world 就是传递给脚本 myscript.sh 的位置参数。
在脚本内部,我们可以通过以下特殊变量来访问这些参数:
$0:脚本名称本身$1, $2, ..., $9:第1到第9个参数${10}, ${11}...:第10个及以后的参数(需要用花括号)$#:参数的总个数$@ 或 $*:所有参数的列表创建一个名为 greet.sh 的脚本:
#!/bin/bashecho "脚本名: $0"echo "第一个参数: $1"echo "第二个参数: $2"echo "参数总数: $#"echo "所有参数: $@"
保存后赋予执行权限并运行:
chmod +x greet.sh./greet.sh Alice Bob
输出结果:
脚本名: ./greet.sh第一个参数: Alice第二个参数: Bob参数总数: 2所有参数: Alice Bob
环境变量 是操作系统或 Shell 会话中存储的全局变量,用于配置系统行为或为程序提供运行时信息。常见的环境变量包括:
PATH:可执行文件的搜索路径HOME:当前用户的家目录USER:当前用户名SHELL:当前使用的 Shell你可以通过 echo 命令查看某个环境变量的值:
echo $HOMEecho $PATH
临时设置(仅在当前 Shell 会话有效):
export MY_VAR="Hello from env"echo $MY_VAR
永久设置(添加到 Shell 配置文件,如 ~/.bashrc 或 ~/.zshrc):
echo 'export MY_APP_CONFIG="/etc/myapp.conf"' >> ~/.bashrcsource ~/.bashrc
| 特性 | Shell 参数 | 环境变量 |
|---|---|---|
| 作用范围 | 仅限当前脚本或命令 | 整个 Shell 会话或子进程 |
| 生命周期 | 随脚本结束而消失 | 会话结束或手动 unset 才消失 |
| 用途 | 传递运行时输入 | 配置系统/应用行为 |
- 使用 Shell 参数 实现灵活的脚本调用(如备份脚本指定源目录和目标目录)
- 利用 环境变量 管理不同环境(开发/测试/生产)的配置
- 在 CI/CD 流程中通过环境变量传递密钥或 API 地址(注意安全!)
通过本教程,你应该已经掌握了 Linux Shell参数 和 环境变量 的基本概念、使用方法及区别。无论是编写自动化脚本,还是配置开发环境,这两项技能都是 Shell脚本编程 和 命令行参数传递 中不可或缺的基础。
现在,打开你的终端,动手试试吧!实践是最好的老师。
本文由主机测评网于2025-11-29发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111300.html