揭秘 env/set/export/declare 的区别

在 Linux 系统中,这 4 个命令都是可以查看显示 Shell 中的变量。但实际上的区别都在哪呢?

大家都知道,变量可以分为:环境变量自定义变量,两者的区别在于:

  • 环境变量:可以在其进程的子进程中继续有效。
  • 自定义变量:无法延伸至其进程的子进程。

那么,则可以从两者的类型进行区分了:

  • env:显示当前用户的环境变量,但不会显示其自定义变量。
  • export:功能同 env,也是显示当前用户的环境变量,只不过该命令的输出是按变量名进行排序的。
  • set:功能同 declare,显示当前 Shell 中定义的所有变量,包括用户的环境变量和自定义变量。
  • declare:显示当前 Shell 中定义的所有变量,包括用户的环境变量和自定义变量,该命令的输出按变量名进行排序。

结论:

  • env 和 export 显示的是环境变量。
  • set和declare显示的是环境变量和自定义变量。
  • 同作用的区别又在于是否按 变量名 进行排序。

设置 Shell 环境变量

$PATH 环境变量,是 Linux 系统比较常用的变量之一。

格式:多个路径组成,由英文冒号(:)进行分割。

echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ascmcs/.local/bin:/home/ascmcs/bin

而它的作用可以大大的提升工作效率,在执行某个命令时,可以快速的在 Linux 系统找到。如果是自身运维的命令,那么可以将其加入至 $PATH 中。

# 假设将用户家目录下的 tools 添加 $PATH
export PATH=$PATH:/home/ascmcs/tools
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值