从子 shell 设置父 shell 的变量

2023-12-12

如何从子 shell 中在父 shell 中设置变量?

a=3
(a=4)
echo $a

子 shell 的全部意义在于它doesn't影响通话会话。在 bash 中,子 shell 是一个子进程,其他 shell 有所不同,但即使如此,子 shell 中的变量设置也不会影响调用者。根据定义。

您需要子外壳吗?如果您只需要一个组,请使用大括号:

a=3
{ a=4;}
echo $a

gives 4(注意其中的空格)。或者,将变量值写入 stdout 并在调用者中捕获它:

a=3
a=$(a=4;echo $a)
echo $a

避免使用反引号``,它们已被弃用,可能难以阅读,并且已知在某些情况下会导致问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从子 shell 设置父 shell 的变量 的相关文章

  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • 语法错误:for 循环变量不正确

    我正在尝试编写一个可以在后台调高收音机音量的脚本 bin sh for i 80 i lt 101 i do amixer cset numid 1 i sleep 60 done 但我有问题 alarmclock vol sh 3 ala
  • Mongodb shell mongo:通常只允许每个套接字地址(协议/网络地址/端口)使用一次。对于套接字:0.0.0.0:27017

    前两天还好好的 现在mongod不起作用 甚至echo ps A grep mongo没有打印任何内容 但它警告错误 每个套接字地址只有一种用途 怎么杀掉它 我也尝试过不同的随机端口 他们怎么可能也失败呢 D mongodb win32 x
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 如何使用shell脚本从json字符串中grep特定字段值[重复]

    这个问题在这里已经有答案了 下面是文件中可用的 JSON 字符串 我需要从中提取值status在 shell 脚本中 预期输出 status success 响应 json eventDate null dateProccessed nul
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 动态参数值取决于另一个动态参数值

    启动前提 非常严格的环境 Windows 7 SP1 Powershell 3 0 使用外部库的可能性有限或不可能 我正在尝试重写之前创建的 bash 工具 这次使用 PowerShell 在 bash 中 我实现了自动完成功能 以使该工具
  • 如何查找所有以句号结尾的单词?

    我有一个包含许多以 a 结尾的单词的文件 其中大部分是缩写 例如 etc p s 如何输出一个仅显示一次所有这些单词的列表 所有单词前面都有一个空格 因此可以使用该空格来查找单词的开头 没有一个单词出现在该行的开头 文件中没有句子 因此句点
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 在 iOS 模拟器中安装应用程序的脚本

    我正在尝试自动化构建应用程序 运行单元测试以及最终运行 UI 测试的过程 我正在通过命令行 xcodebuild sdk iphonesimulator6 0 在某个目录中构建应用程序 如何通过命令行 在 Library Applicati
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 如何从 bash 数组中删除元素而不展平数组

    我想创建一个采用 bash 数组的函数 如下所示 a element zero element one element two 并删除一个元素 如 元素一 并留下一个数组 如下所示 a element zero element two 这样
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • 使用 su 和 Expect 脚本登录用户时遇到问题

    我正在为一个班级制作一个网站 您可以使用用户名和密码登录 然后它会将您带到一个显示您在班级中的成绩的页面 该网站正在运行bash脚本 https github com jduga002 rapache 并将托管在用户已有用户名和密码登录的计
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我

随机推荐

  • 将 Pandas 数据框中的特定列添加到另一个 Pandas 数据框中

    我正在尝试向 pandas 数据框 df1 添加一列 该数据框具有来自另一个具有相同唯一标识符 sameid 的数据框 df2 的唯一标识符 id 列 我尝试过合并 但我只需要添加一个特定列 addthiscolumn 而不是所有列 做这个
  • 使用默认程序打开文件

    在我的应用程序中 我想使用正确的默认程序打开一些文件 例如 doc 文件应该使用 WORD 打开 psd 文件应该使用 Photoshop 打开 如果安装了 这应该在 html 或 java 脚本下完成 请告诉我该怎么做 JavaScrip
  • 如何在视图寻呼机中制作地图重叠布局

    我有包含地图视图的嵌套片段 除了地图视图之外 所有视图都按照我的预期重叠 我也有一个回收视图 它显示在剪切布局下 但没有映射 截屏 我得到的结果是 结果是我所期望的 我尝试设置负边距 但它不适用于地图视图 代码 fragment aroun
  • cakephp 3.x 保存嵌套(深层)关联

    我有来自第 3 方服务调用的产品数据 然后我从中创建一个对象并将其保存到我的 MySQL 数据库 我的模型如下 产品 hasMany gt gt product sku hasMany gt gt product sku attribute
  • 将数据库从 SQL Server 2012 降级到 2008 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我想将数据库降级到SQL Server 2008企业版 我知道没有直接的选择 我尝试在 2012 年进行备份 然后在 2008 年进行恢复 不起作用 关于如何完全传输数据库有什么想法
  • USB 调试时 Android-Studio 因 ArrayOutOfBounds 异常而无法使用

    我在 Opensuse 13 2 上安装可用的 Android Studio 时遇到了很大的困难 我尝试过Java OpenSDK 1 7 0 75 b13和1 8 0 40 b10以及Oracle 1 8 0 31 b13 设置STUDI
  • 如何解决有关字符文字的 C4428 Visual C++ 警告的此实例?

    当前 Visual C 问题C4428 warning 源中遇到的通用字符名称 在下面的代码上 const wchar t someMagicValue L ufffd 我想解决这个警告 我想知道是否存在以下问题 const wchar t
  • 本地文件系统上的独立 HBase 出现 Zookeeper 错误?

    大家好 我正在尝试遵循HBase快速入门并在本地文件系统上启动 HBase 不使用 HDFS 但是 当我使用 hbase shell 启动 shell 并输入 status 时 我收到 Zookeeper 错误 hbase main 001
  • 如何避免缩进的嵌套承诺?

    我听说承诺在代码中应该是线性的 而不是回调 回调地狱 尽管我仍然有一个类似于回调地狱的场景 并希望 Promise 能够兑现其承诺 并具有与此问题代码等效的线性语法 给出的承诺p q w 考虑这段代码 p then gt q then gt
  • 在 Windows 上安装 Theano - DLL 加载失败

    我正在尝试在 Windows 8 上安装 Theano 已关注these steps 我尝试使用以下方法进行测试 import numpy as np import time import theano print blas ldflags
  • 合并一个 data.frame 中的行

    这是一个非常相似的问题将两行合并到一个数据框中但我有字符串变量 只想折叠一些具有相同国家 地区名称的行 我改编了MWER data lt data frame code c 345 346 name Yemen v1 c text1 v2
  • 当我查看包含 YoutubePlayerController 的页面时,下一页停止工作

    Problem 加载 YoutubePlayerIFrame 后下一页的小部件将不起作用 例如 假设您有 A 和 B 有状态小部件 首先加载 A 其中YoutubePlayerIFrame叫做 您可以按 A 中的按钮 但是当您移动到 B 时
  • 如何匹配目标中的双干,如 %/% 或其他方式?

    我需要建立具有如下名称的目标 v1 thread4 foo v1 thread8 foo v1 thread16 foo v2 thread4 foo v2 thread8 foo v2 thread16 foo 我想匹配thread an
  • ReadStreamAsDT - Filehelpers 和 C# - 如何使用 filehelpers 动态读取 CSV?

    我正在尝试通过 FileHelpers 动态读取 CSV 并将 CSV 数据作为数据表使用 我的 CSV 文件不会相同 它们将具有不同的列标题和不同数量的列 我正在使用 ReadStreamAsDT 方法 但似乎仍然需要一个结构化类来初始化
  • 找不到有关 Python 的 read() 方法的任何信息 (python 2.7)

    我正在尝试通过 Zed Shaw 的 以困难的方式学习 Python 来学习 Python 但我却陷入了看似非常微不足道的事情 我无法找到有关 read 方法的任何信息 他在书中是这样说的 运行 pydoc 文件并向下滚动 直到看到 rea
  • 如何清空WebView的缓存?

    我有一个必须加载图像的 Webview 当我上传此图像时 我每次都会看到与以前相同的图像 并且我必须重新启动我的应用程序才能看到新图像 我认为是缓存问题 我该如何解决这个问题 一种快速简单的方法是在加载时将当前时间戳附加到 url 中 因此
  • 这个thread.abort()正常且安全吗?

    我创建了一个自定义自动完成控件 当用户按下某个键时 它会在另一个线程上查询数据库服务器 使用远程处理 当用户输入速度非常快时 程序必须取消先前执行的请求 线程 我之前首先将其实现为 AsyncCallback 但我发现它很麻烦 需要遵循太多
  • 在 Swift 中异步改变集合的惯用方法

    在 Swift 中异步改变字典 其他集合的惯用正确方法是什么 写代码时经常会出现以下几种情况 func loadData key String dict inout String String Load some data Use Disp
  • 将 SPATIAL 数据从 Oracle 迁移到 Postgresql

    我正在尽力将空间数据库从 Oracle 迁移到 Postgresql 但失败得很惨 正如您从我之前的问题中看到的那样 我尝试了许多不同的途径 但没有一个有效 有人可以告诉我一种相对轻松的方法吗 因为我现在对此一无所知 我尝试过使用 Swis
  • 从子 shell 设置父 shell 的变量

    如何从子 shell 中在父 shell 中设置变量 a 3 a 4 echo a 子 shell 的全部意义在于它doesn t影响通话会话 在 bash 中 子 shell 是一个子进程 其他 shell 有所不同 但即使如此 子 sh