set, setenv, export的区别

set, setenv, export的区别

写在前头,首先要认识何为环境变量
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。(摘自百度百科)
简单来说,环境变量是系统的变量,当要用到某个程序的时候,告诉系统根据环境变量中设置的路径(path)去哪个地方找这个程序

1.说明
使用setsetenv命令可以设置shell选项或者列出shell变量,其中setenvcsh的命令,在bash中用export命令。

2.语法格式
set
set 变量名 = 内容
set 变量名 =(内容1 内容2 )
set 变量名 ="内容1 内容2"
setenv
setenv 变量名 内容
setenv 变量名 “内容1 内容2”
setenv 变量名 ‘内容1 内容2’
export
设置内部变量
export 变量名
设置环境变量
export PATH = ${路径}/def:$PATH
: 的意思是并列

在bash里写的export 要通过source命令来执行,单独./不可行
除了export可直接在终端上使用,其余都不行。这几个设置都可以通过unset清除

3.查看
①查看单个环境变量
echo $变量名
②查看全部环境变量
env
③查看内部变量
set

4.环境变量、全局变量和局部变量
环境变量:除了在shell中使用还可以在子进程中使用,但不同的shell之间不能通用。
全局变量:可以在shell中使用。
局部变量:只能在函数内部使用。
全局变量局部变量都可以理解为内部变量
不同于环境变量,内部变量只能在shell内实现,可通过export 输出为环境变量
环境变量可以被子进程(如 bash 进入子shell)继承而内部变量不可以继承,改变环境变量就会自动改变内部变量,反之不然。set列出内部变量列表,env列出环境变量列表。

有关变量的详细讲解可以看看这篇笔记 Shell变量的作用域:Shell全局变量、环境变量和局部变量

  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值