当前位置: 首页 > news >正文

Linux学习日常12

env命令
env 命令是 Linux/Unix 系统中用于管理和操作环境变量的核心工具。它主要有两大功能:
显示当前用户的所有环境变量。
在指定的环境变量下运行程序,而不影响当前 Shell 的环境。
1、查看环境变量
直接在终端输入 env 命令,不加任何参数,即可列出当前所有的环境变量及其值
2、在指定环境中运行命令
这是 env 命令更强大的用法。它允许你为单个命令临时设置、修改或删除环境变量,而不会对当前的 Shell 会话产生任何持久影响。
基本语法:
env [选项] [变量名=值]... [要执行的命令]
常用选项
-i 或 --ignore-environment
忽略所有现有的环境变量,从一个完全干净的环境开始执行命令。这通常与手动设置少数几个必需变量(如 PATH 和 HOME)结合使用。
-u 或 --unset=变量名
在执行命令时,从环境中移除指定的变量。

$符
在 Unix、Linux 或 macOS 的终端中,$ 通常被用作命令提示符。
含义:它表示系统已准备好接收普通用户的命令。你看到的 $ 本身并不是命令的一部分,而是一个视觉标识。
权限区分:与之相对,超级用户(root)的命令提示符通常是 #
不同的编程语言赋予了 $ 不同的功能:
PHP:作为变量的前缀。所有 PHP 变量都必须以 $ 开头,例如 $username。
Shell 脚本:用于引用变量的值。例如,如果定义了 name="Alice",那么 $name 就代表 "Alice" 这个值。
$ 是 Shell 脚本中最常用的符号之一,主要用于获取变量的值。
基本用法:$变量名 或 ${变量名}。
示例:
name="Alice"
echo $name # 输出: Alice
echo ${name} # 输出: Alice


export命令
export 是 Linux/Unix Shell 中用于管理环境变量的核心命令。
简单来说,它的作用是将当前 Shell 中的局部变量“升级”为环境变量,使其能够被当前 Shell 启动的子进程(如脚本、其他程序)所继承和使用。
核心作用:父进程与子进程的桥梁
在 Linux 中,进程之间存在父子关系。
默认情况:父进程(你的终端)定义的变量,子进程(你在终端里运行的程序)是看不见的。
使用 export 后:变量被标记为“导出”,子进程就能读取到这个变量了。
export 的基本语法非常简洁:
export [选项] [变量名]=[值]
设置/导出变量
这是最常用的功能,可以定义并导出,也可以导出已存在的变量。
定义并导出(一步到位):
export MY_VAR="Hello World"
export API_KEY="123456"
先定义,后导出:
MY_VAR="Hello World"
export MY_VAR
. 查看已导出的变量
不加参数或使用 -p 选项,可以列出当前所有已导出的环境变量。
export
# 或者
export -p
. 修改已有变量
直接重新赋值即可,不需要再次声明。
export PATH="$PATH:/usr/local/my_bin"
. 取消导出(变为局部变量)
使用 -n 选项,变量将不再传递给子进程,但在当前 Shell 中依然存在。
export -n MY_VAR
. 导出函数
使用 -f 选项,可以将 Shell 函数导出给子脚本使用。
my_func() { echo "Hello"; }
export -f my_func


source命令
source 命令是 Linux/Unix Shell 中的一个内置命令,它的核心作用是在当前 Shell 环境中读取并执行指定文件中的命令。
它最典型的应用场景是:在修改了配置文件(如 ~/.bashrc)后,让修改立即生效,而无需关闭并重新打开终端。
核心原理:当前 Shell vs. 子 Shell
理解 source 的关键在于区分两种脚本执行方式:
普通执行 (./script.sh 或 bash script.sh)
这种方式会启动一个新的子 Shell 进程来执行脚本。脚本中对环境的所有修改(如定义变量、函数,切换目录等)都只在子 Shell 中有效。当脚本执行完毕,子 Shell 退出,这些修改也随之消失,对父 Shell(你的终端)不产生任何影响。
source 执行 (source script.sh)
这种方式不会创建新的子 Shell。它直接在当前的 Shell 进程中,逐行读取并执行文件里的命令。因此,文件中所有的环境修改都会直接、永久地应用到你的当前会话中,就像你亲手在终端里敲入这些命令一样。
基本语法
source 命令的语法非常简单:
source 文件名 [参数] 或者
. 文件名 [参数]
文件名: 需要执行的文件路径,可以是绝对路径或相对路径(如 ./config.sh)。
[参数]: (可选) 传递给脚本文件的参数,在脚本中可以通过 $1, $2 等获取。
点运算符 (.): source 命令的简写形式,功能完全相同,是 POSIX 标准写法,兼容性更好。
主要用途
让配置文件立即生效
1、这是 source 最常见的用途。当你修改了 Shell 的配置文件后,无需重启终端
2、加载函数库或别名
你可以将常用的函数或别名定义在一个单独的文件中,然后在需要时通过 source 加载到当前会话,方便复用。
3、在脚本中引入配置
在一个主脚本中,可以通过 source 来加载外部的配置文件,实现配置与逻辑的分离
4、修改当前 Shell 状态
因为 source 在当前 Shell 执行,所以像 cd 这样的命令也能真正改变你终端的工作目录

http://www.jsqmd.com/news/686391/

相关文章:

  • PPTTimer:告别演讲超时的智能演示计时神器
  • 用Logisim从零搭建一个8位CPU的运算器:华科硬件课设保姆级复盘
  • Xsens MTi 630 IMU配置全攻略:从硬件连接到ROS驱动调试
  • 怎么清理下载软件捆绑的很多软件的图标软件?
  • 智慧树刷课插件:3分钟高效解放双手,智能学习从此轻松
  • 终极Jable视频下载教程:5步实现高清视频永久保存的完整指南
  • 机器审核的“防挂指南”:如何将简历重构成高精度解析的结构化数据
  • 如何高效处理携程任我行礼品卡?变现方法大揭秘! - 团团收购物卡回收
  • 2026年滁州性价比高的安防监控安装公司推荐,满足你的需求 - 工业品牌热点
  • 猫抓浏览器扩展:三步掌握网页视频音频下载的完整指南
  • ncmdumpGUI终极教程:3分钟掌握网易云NCM文件解密与转换
  • Steam创意工坊终极下载指南:WorkshopDL跨平台模组获取完整教程
  • GBase 8a数据库双活容灾方案之主动灾备切换简介
  • 告别混乱的基因预测结果:用EvidenceModeler (EVM) 和 PASA 打造高质量基因集的完整配置流程
  • 2026年南京有哪些品牌安防监控安装公司推荐 - 工业推荐榜
  • 告别命令行!3个技巧让你用Another Redis Desktop Manager轻松管理Redis数据库
  • 2026最权威的六大AI科研网站推荐榜单
  • 人多不管用!智能体团队别盲目扩张,最新综述给出三大维度
  • ConcurrentHashMap 底层原理:面试必问的并发安全容器
  • GBase 8a数据库双活容灾方案之被动灾备切换简介
  • 终极指南:3分钟让小爱音箱变身AI智能语音助手
  • 2026年聊聊马鞍山安防监控安装实力机构 - myqiye
  • 携程任我行礼品卡能变现吗?教你轻松实现价值最大化 - 团团收购物卡回收
  • IDE Eval Resetter:JetBrains试用期无限重置终极指南
  • Windows Cleaner实战指南:三步解决C盘爆红难题,释放宝贵系统空间
  • cf2225D
  • GBase数据库常用名词解释(之一)
  • Debian11最小安装避坑指南:从镜像下载到SSH配置全流程
  • PotPlayer字幕翻译终极指南:百度翻译插件完整使用教程
  • 2026年鸭屎香茶叶定制厂家哪家好,五山茶叶不容错过 - 工业品网