Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Bash Export命令「建议收藏」

Bash Export命令「建议收藏」

作者头像
全栈程序员站长
发布于 2022-10-29 03:36:37
发布于 2022-10-29 03:36:37
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

一.shell和export

《1》用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell。从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生的。在子shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。export命令将使系统在创建每一个新的shell时,定义这个变量的一个拷贝。这个过程称之为变量输出。

二.export 功能说明:设置或显示环境变量。

1.语  法:export [-fnp][变量名称]=[变量设置值] 2.补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。 3.参  数:  -f  代表[变量名称]中为函数名称。  -n  删除指定的变量。变量实际上 并未删除,只是不会输出到后续指令的执行环境中。  -p  列出所有的shell赋予程序的环境变量。

三.学习export 理解学习shell脚本周期

1.在sh文件中加入export 环境变量 ,source这个.sh文件之后,才会识别这个环境变量 2.如果不加export ,source 之后也能识别这个环境变量

对于以上的表现可以得出的结论是:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1. 执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
 2. 一个shell中的系统环境变量会被复制到子shell中(用export定义的变量);
 3.  一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失并不能返回到父shell中)
 4. 不用export定义的变量只对该shell有效,对子shell也是无效的。

四.最后一个问题:

有环境变量直接执行和source之后执行为什么会不一样呢?

直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196348.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月7日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
shell中 的 export命令
语  法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。 参  数:  -f  代表[变量名称]中为函数名称。  -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。  -p  列出所有的shell赋予程序的环境变量。
全栈程序员站长
2022/10/04
1.4K0
shell脚本export变量只限脚本内么_shell脚本调用oracle存储过程
用sh运行脚本后,在当前shell利用命令env查看环境变量,但是却没有fdu变量,难道是因为我的export语句没有生效?
全栈程序员站长
2022/10/04
1.6K0
Linux命令(49)——export命令(builtin)
export命令为Shell内建命令,用于设置或显示环境变量,环境变量包含变量与函数。
恋喵大鲤鱼
2018/11/21
4.4K0
Linux下export命令和source命令与环境变量设置「建议收藏」
环境变量广泛用于程序运行环境的设置。从Linux shell的角度来看,环境变量无非就是shell脚本的变量而已。从这个角度理解环境变量,就能理解设置环境变量的那些命令究竟在做什么。
全栈程序员站长
2022/10/04
6.1K0
macOS和Linux下source和export命令
和sh、bash相似但不一样,下面看一下他们的区别: 1.sh filename重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell无论怎么改变变量都不会被带回父shell。 2.source filename这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
全栈程序员站长
2022/10/02
1.7K0
【Shell】环境变量 自定义变量 特殊变量
是系统提供的共享变量.是linux系统加载Shell的配置文件中定义的变量共享给所有的Shell程序使用
陶然同学
2023/10/23
8520
【Shell】环境变量 自定义变量 特殊变量
shell变量详解
在编程中,我们总有一些数据需要临时存放在内存,以待后续使用时快速读出。先了解一下计算机的存储单位吧。
星哥玩云
2022/09/15
6680
shell变量详解
linux命令export什么意思_shell脚本执行oracle语句
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
全栈程序员站长
2022/10/04
1.3K0
CentOS中环境变量和配置文件
bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问它们。
Ryan-Miao
2018/10/15
2K0
source命令
source命令,之前一直用来加载环境变量的,source一下然后执行某个sh,使其环境变量生效,但对细节没有追究;
千往
2019/07/10
2.1K0
《Linux命令行与shell脚本编程大全》 第六章环境变量
很多程序和脚本都通过环境变量来获取系统信息、存储临时数据和配置信息。 6.1 什么是环境变量: bash shell用一个叫环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息。 这项特性允许在内存中存储数据,以便程序能轻松访问到它们。 在bash shell中,分两类: 全局变量:对于shell会话和所有生成的子shell都是可见的 局部变量:只对创建的它们的shell可见 6.1.1全局环境变量 查看全局变量,  $env    $printenv 查看某个
xcywt
2018/01/11
1.1K0
《Linux命令行与shell脚本编程大全》 第六章环境变量
bass reducer什么意思_map filter foreach区别
对于一些环境变量的配置文件,如想使更改后立即生效,多用 souce +file 执行后即可。如/etc/profile 里加了配置,
全栈程序员站长
2022/09/20
2210
shell编程入门_unix编程
(4)执行写好的脚本语言:bash或sh命令 通过路径的方式:bash或sh 相对路径执行shell脚本
全栈程序员站长
2022/11/16
1.5K0
shell编程入门_unix编程
export在linux中用法_设置环境变量命令
Linux 命令详解(一)export 命令 – Tinywan – 博客园 (cnblogs.com)
全栈程序员站长
2022/10/04
1.9K0
【linux命令讲解大全】198.Shell命令解析:export和exportfs的用途和参数解释
Q:对变量或函数设置导出属性有什么用? A:它们会成为环境变量,可以在脚本中访问它们,尤其是脚本中调用的子进程需要时。
全栈若城
2024/03/02
6380
Linux的shell命令——变量用法
在Linux的Shell脚本中,变量是用来存储和操作数据的符号名称。下面是关于Linux Shell中变量的详细说明:
红目香薰
2023/10/11
1.6K0
Linux的shell命令——变量用法
在bash中export命令作用是什么_bash:no such file or directory
export export命令将会使得被 export 的变量在运行的脚本(或shell)的所有的子进程中都可用. 不幸的是,没有办法将变量export 到父进程(就是调用这个脚本或shell 的进程)中. 关于export 命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且 设置环境变量,让用户进程可以存取环境变量
全栈程序员站长
2022/10/02
3.7K0
export命令[通俗易懂]
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
全栈程序员站长
2022/10/04
2.8K0
Shell编程从看懂到看开①(Shell概述、变量、运算符、条件判断)
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。==Shell 既是一种命令语言(可以理解为命令行解释器),又是一种程序设计语言。==
十八岁讨厌编程
2022/12/10
9480
Linux系列教程(二十二)——Linux的bash变量
IT可乐
2018/01/04
1.4K0
Linux系列教程(二十二)——Linux的bash变量
推荐阅读
相关推荐
shell中 的 export命令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验