更改子进程中的环境变量 - bash

2023-12-25

嗨我有以下示例。 a.sh 脚本设置了我可以在 b.sh (子)脚本中看到的环境变量,但是如果我更改它,我仍然在 a.sh 中保留旧值

a.sh

#!/bin/bash

export A=1
./b.sh
echo parent $A

b.sh

#!/bin/bash

echo child $A
A=2
export A
echo child $A

test:

bash-3.00$ ./a.sh
child 1

child 2

parent 1

child 1

child 2

In a.sh do source b.sh代替./b.sh

a.sh应该看起来像这样:

#!/bin/bash
export A=1
source b.sh
echo parent "$A"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改子进程中的环境变量 - bash 的相关文章

  • Visual Studio 属性页环境变量

    如果右键单击解决方案资源管理器中的项目并转到常规 gt 调试 则会有一个环境部分 您应该能够使用语法 NAME VALUE 设置环境变量 我的问题是 如果我尝试在那里创建一个新的环境变量 它似乎实际上不起作用或无法设置 有人对这个有经验么
  • 有没有办法为 Jupyter Notebook 会话设置 PYTHONHASHSEED?

    我想禁用Python的随机化hash功能 https docs python org 3 reference datamodel html object hash 根据这个线程 无法通过模块查看或修改 PYTHONHASHSEED 的值 h
  • 创建证书以通过 bash 在 Mac OS X 上签署 GDB

    我正在尝试通过以下方式在 Mac OS X 上安装 gdblink1 http www patosai com blog post installing gdb on mac os x yosemite and link2 http ntr
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • 在 MacOS 上重新启动终端而不关闭

    如何在不关闭窗口的情况下重新启动当前的 MacOS 终端会话 在Linux中我使用exec bash但在这种环境下它不起作用 我对 bash profile 提示 别名等 我想在不关闭它并再次打开的情况下查看 只需输入命令 exec bas
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过 makefile 在 Linux 上安装程序? [复制]

    这个问题在这里已经有答案了 可能的重复 Linux Unix make install 应该包含什么 https stackoverflow com questions 528399 what should linux unix make
  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • aws eb deploy 不加载环境变量

    我正在通过 eb deploy 将 symfony 项目部署到 ec2 实例 aws linux 2 部署后迁移脚本运行良好 但当我尝试使用 ec2 user 运行 symfony 命令时 出现有关数据库凭据错误的错误 这是因为我推送了带有
  • 大括号语法 ${var%.*} 是什么意思?

    我正在查看一些旧代码并遇到了以下语法 extractDir downloadFileName tmp 我发现搜索的唯一信息是指命令列表 但这只是一个变量 这个大括号语法在 bash 中意味着什么 在这种背景下 它是一个参数替换 http w
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • Bash - 将键绑定到字符串(不是函数)

    如何获得键绑定以导致在命令行插入任意文本 在 zsh 中我这样做 bindkey s m myspecialscript 在 bash 中 有等效的吗 没有一个内置函数可以实现我想要的功能 bind e E home yourscript
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下

随机推荐

  • javascript - 使用 zip.js 压缩 Blob

    我需要在 WebSQl 中存储大量文本 因此我决定使用以下命令压缩文本zip js http gildas lormeau github io zip js 并存储压缩的 Blob 从文档中 您可以按如下方式压缩 blob function
  • 对于小型数据集,AWS Athena MSCK REPAIR TABLE 花费的时间太长

    我在使用 amazon athena 时遇到问题 我有一个小存储桶 36430 个对象 9 7 mb 有 4 级分区 my bucket p1 ab p2 cd p3 ef p4 gh file csv 但是当我运行命令时 MSCK REP
  • Bootstrap 3 响应式多重巨型菜单

    我使用 Bootstrap 3 并设计大型菜单导航 HTML div class container div
  • 在树视图中添加图像

    TreeNode desktop new TreeNode desktop Text Desktop desktop Tag Desktop Mycomputer ImageIndex 1 Mycomputer SelectedImageI
  • 为什么我的内核日志没有显示最新的输出?

    我正在 Ubuntu 17 04 中编写一个简单的内核模块 它接受一个字符串并将其打印在内核日志中 include
  • 如何复用Activity?不要每次都创建活动

    本主题是此主题的继续 安卓 如何在不创建新活动的情况下开始活动 https stackoverflow com questions 7674477 我读到 当单击 后退 按钮时 活动会被破坏 当深入堆栈然后回调活动时 它们不会被破坏 使用a
  • 我真的需要执行 mysql_close()

    我真的需要执行 mysql close 吗 为什么或者为什么不 即使我不执行 mysql close 是否有触发器在 mysql connect 之后关闭链接 根据文档 http php net manual en function mys
  • 为什么 CMake 语法到处都有多余的括号?

    CMake s if像这样 if condition else if else endif With else if the 测试单独的条件 Why else 不仅仅是else Why endif 并不是endif Cmake的功能如下 f
  • 监控 Spark 执行和存储内存利用率

    我知道有多种方法可以监视 Spark 应用程序的存储内存利用率 但有人知道监视执行内存利用率的方法吗 我也在寻找一种监视 用户内存 的方法 即不用于执行也不用于存储的内存 查看 Spark 的内存管理文档https spark apache
  • jQuery 断言支持/防御性编程?

    jQuery 中是否有内置支持进行基本断言检查 主要是 返回元素的预期数量 之类的内容 例如 我可能有一个像这样的简单声明 btnSignup click function return validateForm 现在有很多理由 btnSi
  • 使用 Selenium Scraper (Python) 时消除 % 符号

    下面是一个 Selenium 网络抓取工具 它循环访问该网站页面的不同选项卡 选择 导出数据 按钮 下载数据 添加yearid列 然后将数据加载到MySQL表中 import sys import pandas as pd import o
  • AngularJS 错误 - [$compile:multidir] 多个指令错误

    我使用这些包 来自 Angular ui 包的 Angularjs 模态 http angular ui github io bootstrap modal http angular ui github io bootstrap modal
  • 数据库设计主键、ID 与字符串

    我目前正在计划开发一个音乐流应用程序 我想知道什么作为服务器上表中的主键会更好 ID int 或唯一字符串 方法一 歌曲表 SongID int 标题 string 艺术家 string 长度 int 专辑 string 流派表Genre
  • 仅允许输入数值 Datagridview 特定列

    有什么方法可以自定义 datagridview 列以仅接受数值 此外 如果用户按数字以外的任何其他字符 则不得在当前单元格上键入任何内容 有什么方法可以解决此问题 private void gvAppSummary EditingContr
  • 在 TFS2015 update2 vNext 构建配置中发送请求时发生错误

    配置 TFS vNext 构建代理时出现错误 连接到服务器时出错 发送请求时发生错误 的请求 我在事件日志或其他任何地方找不到任何其他错误消息 请帮忙 更新1 SSL https tfs 不起作用 但是简单的 http 起作用了 更新 2
  • 一个巨大的 CSS - 还是许多小的 CSS?

    希望是简单的问题 我们有一个超过 3000 行的样式表 因此在渲染页面时存在明显的延迟 问题是 是使用一个覆盖所有内容的大型样式表更好 还是使用许多覆盖页面不同部分的小样式表更好 例如 一个用于布局 一个用于下拉菜单 一个用于颜色等 这只是
  • OCaml 语言的 IDE

    除了 Camelia 之外 还有其他值得信赖的 OCaml IDE 吗 如果存在的话 我更喜欢基于 Eclipse 的 IDE 编辑 十年后 2022 VS Code OCaml 平台 https marketplace visualstu
  • 通过 CPU/GPU 的占位符获取不同的值

    当我运行下面的代码时 我认为我得到了错误的结果 OVER GPU import tensorflow as tf sess tf Session a tf placeholder tf float32 b tf placeholder tf
  • 如何在 CakePHP 中强制刷新图像和 css 文件?

    我有以下问题 我正在 CakePHP 中编码 而且我是新手 我经常需要更改网站上的一些图像或 css 文件 在网站上我总是看到旧的内容 除非我手动按键盘上的 F5 我必须在每个使用该网站的工作场所执行此操作 这很令人恼火 尤其是因为我不知道
  • 更改子进程中的环境变量 - bash

    嗨我有以下示例 a sh 脚本设置了我可以在 b sh 子 脚本中看到的环境变量 但是如果我更改它 我仍然在 a sh 中保留旧值 a sh bin bash export A 1 b sh echo parent A b sh bin b