前言

众所周知Shell 中的变量只作用于当前进程。如需在子进程中创建副本可使用 export 内建命令。 有时使用临时变量语法可以非常方便。
变量使用
例如:
url=http://harttle.com echo $url
export 到子进程
通常变量是不需要 export 的,但是当你需要把一个工作分割成若个小的任务, 分别用一个脚本来实现的时候,就需要把变量名传递给它们。 比如有一个 spider.sh 来获下载任意 URL 到临时目录:
#!/usr/bin/env bash curl $url > $TMPDIR/$RANDOM.html
我们需要将当前脚本中的 url 传递给spider.sh:
export url=http://harttle.com bash ./spider.sh # 等价于(如果该文件有可执行权限的话) ./spider.sh
值得注意的是export只会在子进程中创建变量的副本,即spider.sh对它的改动不会体现在当前进程。
在当前进程执行脚本
使用 source 或 . 内建命令可以在当前进程执行另一个脚本,因此当前上下文的变量对该脚本是可见的。
url=http://harttle.com source ./spider.sh # 等价于 . ./spider.sh
临时设置环境变量
根据 Shell 语法,在一个简单命令前可以包含任意个赋值语句。这些变量赋值将会在执行命令前展开,等效于临时的环境变量。
A “simple command” is a sequence of optional variable assignments and redirections, in any sequence, optionally followed by words and redirections, terminated by a control operator. – Simple Commands, Shell Commands
例如下面命令可以把url变量传递给spider.sh:
url=http://harttle.com bash ./spider.sh
这是一条 简单命令,下面的多条命令或 组合命令:
url=http://harttle.com; bash ./spider.sh # 两条命令,只作用于当前进程 url=http://harttle.com && bash ./spider.sh # 组合命令,只作用于当前进程 export url=http://harttle.com; bash ./spider.sh # 两条命令,作用于父子进程
简单命令中的变量赋值也不作用于当前进程。例如下面的代码将会输出空行:
url=http://harttle.com echo $url
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# shell变量的作用域
# shell
# 变量作用域
# 作用域
# linux shell自定义函数(定义、返回值、变量作用域)介绍
# linux shell 自定义函数方法(定义、返回值、变量作用域)
# 只作
# 会在
# 两条
# 内建
# 作用于
# 的是
# 这是
# 变量名
# 也不
# 将会
# 不需要
# 当你
# 这篇文章
# 谢谢大家
# 如需
# 体现在
# 来实现
# 该文件
# 众所周知
# 多条
相关文章:
,如何利用word制作宣传手册?
如何在Tomcat中配置并部署网站项目?
建站主机SSH密钥生成步骤及常见问题解答?
php json中文编码为null的解决办法
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
如何在Windows服务器上快速搭建网站?
在线教育网站制作平台,山西立德教育官网?
如何通过VPS搭建网站快速盈利?
小型网站制作HTML,*游戏网站怎么搭建?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
制作销售网站教学视频,销售网站有哪些?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
网站制作企业,网站的banner和导航栏是指什么?
股票网站制作软件,网上股票怎么开户?
css网站制作参考文献有哪些,易聊怎么注册?
制作农业网站的软件,比较好的农业网站推荐一下?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
为什么Go需要go mod文件_Go go mod文件作用说明
海南网站制作公司有哪些,海口网是哪家的?
英语简历制作免费网站推荐,如何将简历翻译成英文?
MySQL查询结果复制到新表的方法(更新、插入)
如何快速查询网址的建站时间与历史轨迹?
如何自定义建站之星网站的导航菜单样式?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何在阿里云完成域名注册与建站?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何快速生成可下载的建站源码工具?
如何快速重置建站主机并恢复默认配置?
建站主机类型有哪些?如何正确选型
如何通过虚拟主机快速搭建个人网站?
建站之星安装模板失败:服务器环境不兼容?
金*站制作公司有哪些,金华教育集团官网?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
,在苏州找工作,上哪个网站比较好?
建站主机选购指南:核心配置优化与品牌推荐方案
如何在景安服务器上快速搭建个人网站?
如何通过wdcp面板快速创建网站?
小建面朝正北,A点实际方位是否存在偏差?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
视频网站制作教程,怎么样制作优酷网的小视频?
如何获取免费开源的自助建站系统源码?
香港服务器WordPress建站指南:SEO优化与高效部署策略
广东企业建站网站优化与SEO营销核心策略指南
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
大同网页,大同瑞慈医院官网?
建站之星×万网:智能建站系统+自助建站平台一键生成
如何在阿里云高效完成企业建站全流程?
宝塔新建站点为何无法访问?如何排查?
*请认真填写需求信息,我们会在24小时内与您取得联系。