首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏没有擅长的YcY

    Bash脚本编程之subshell

    /bin/bash # subshell.sh echo "We are outside the subshell." echo "Subshell level OUTSIDE subshell = $BASH_SUBSHELL" echo; echo outer_variable=Outer global_variable= ( echo "We are inside the subshell ." echo "Subshell level INSIDE subshell = $BASH_SUBSHELL" inner_variable=Inner global_variable="$inner_variable " echo "From inside subshell, \"inner_variable\" = $inner_variable" echo "From inside subshell, \"outer \" = $outer_variable" ) echo; echo echo "We are outside the subshell." echo "Subshell level OUTSIDE

    1.2K20发布于 2019-05-26
  • 来自专栏Shell编程读书笔记

    Shell编程中出现`command not found`错误的问题归因以及内部变量的相关知识点

    /bin/bash# Testing a single parentheses condition#echo $BASH_SUBSHELL#if (echo $BASH_SUBSHELL)then echo "The subshell command operated successfully." 而它的含义是:该变量用于提示所处的 subshell 层级。 $BASH_SUBSHELL);(echo $BASH_SUBSHELL))hello world22第一个例子显示2,代表了echo $BASH_SUBSHELL 为第二层的子shell;第二个例子中第一个 $BASH_SUBSHELL为第二层子shell,而第二个$BASH_SUBSHELL为第三层的子shell;第三个例子中的两个$BASH_SUBSHELL为同一层级的且均为第二层子shell。

    2.3K20编辑于 2024-07-03
  • 来自专栏Czy‘s Blog

    mc命令

    -u, --nosubshell: 禁用subshell支持。 -U, --subshell: 启用subshell支持,默认选项。 -v, --view=<file>: 在文件上启动文件查看器。

    1.9K10发布于 2020-08-27
  • 来自专栏米扑专栏

    将stdout、stderr导入到指定文件

    /test > out.log) >& err.log   以上的命令会开一个 subshell 执行 ". /test";而这个 subshell 的 stdout 则被转向到out.log,同时这个 subshell 的 stdout 和 stderr 则都被转向到 err.log,但是因为 stdout

    2.1K30发布于 2019-02-19
  • 来自专栏xcywt

    《Linux命令行与shell脚本编程大全》 第五章理解shell

    5.2.1 进程列表 $ pwd; ls; pwd; cd /; echo $BASH_SUBSHELL 这样可以让命令依次执行。这是在当前shell中执行的。 $(pwd; ls; echo $BASH_SUBSHELL;) // 这个是在子shell中执行。 () 还可以嵌套,比如pwd;(pwd; (ls; cd /home)) echo $BASH_SUBSHELL   若返回0,表示没有子shell。 $(sleep 2; echo $BASH_SUBSHELL; sleep 2;)& 协程:可以同时做两件事,它在后台生成一个子shell,并在这个子shell中执行命令。

    1.3K100发布于 2018-01-11
  • 来自专栏hotarugaliの技术分享

    LinuxShell父子关系概述

    子 Shell(subshell) 子 Shell 是父 Shell 进程调用了 fork() 函数,在内存中复制出一个与父 Shell 进程几乎完全一样的子进程。 子 Shell 继承了父 Shell 的所有环境变量(包括全局和局部变量) 可以通过环境变量 BASH_SUBSHELL(其值表明子 Shell 的嵌套深度)判断是第几层子 Shell(0 说明当前

    71420编辑于 2022-02-28
  • 来自专栏编程珠玑

    shell逐行处理文本求和,我人傻了...

    这事坏就坏在脚本中的|,众所周知,这是一个管道命令,而这也就意味着,while循环的执行结果都是在一个subshell中,一旦这个subsell退出了,它里面的结果也就没有了。 Line 6: sum=$(( $sum + $temp_num )) ^-- SC2030: Modification of sum is local (to subshell caused Line 8: echo "we get sum:$sum" ^-- SC2031: sum was modified in a subshell.

    1.7K20发布于 2021-06-21
  • 来自专栏

    shell 编程记录

    /区别 source 在当前shell内去读取、执行a.sh,而a.sh不需要有"执行权限" sh 都是打开一个subshell去读取、执行a.sh,而a.sh不需要有"执行权限" .通常在subshell ./ 打开一个subshell去读取、执行a.sh,但a.sh需要有"执行权限" 8 export export表示将当前shell的变量输出出去, 在新建shell时将会拷贝这些变量 对于同一个shell

    75420发布于 2019-05-25
  • 来自专栏epoos.com

    Linux学习笔记(三)

    pwd; ls; pwd; ls; echo $BASH_SUBSHELL {pwd; ls; pwd; ls; echo $BASH_SUBSHELL;} # 花括号不会成为进程列表 (pwd; ls ; pwd; ls; echo $BASH_SUBSHELL;) # 将命令列表用括号起来能成为进程列表 在shell脚本中,经常使用子shell进行多shell处理。

    70110编辑于 2022-06-06
  • 来自专栏博客迁移同步

    第三十七章 : 奇珍异宝

    This can be done in one of two ways;either with a group command or with a subshell. 这里是每种方式的语法示例: Group command: 组命令: { command1; command2; [command3; ...] } Subshell: 子 shell: (command1 使用一个组命令,我们可以重新编 写这些代码,如下所示: { ls -l; echo "Listing of foo.txt"; cat foo.txt; } > output.txt Using a subshell > output.txt Using this technique we have saved ourselves some typing, but where a group commandor subshell When the subshell exits, the copyof the environment is lost, so any changes made to the subshell’s environment

    77110编辑于 2023-05-06
  • 来自专栏陈大剩博客专栏

    Linux 温习(九): IO 重定向与进程管道

    root test.sh zip-1.20.0 zip-1.20.0.tgz > ls &>/dev/null ;date &>/dev/null > (ls;date) &>/dev/null Subshell Subshell 是指圆括号里的命令会在另外的进程中执行。 root/; ls anaconda-ks.cfg install.sh package.xml [root@localhost ~]# 如果不希望某些命令执行对当前Shell环境产生影响,请在Subshell

    1.5K20编辑于 2023-02-17
  • 来自专栏自动化、性能测试

    Python - 执行cmd命令

    (执行的命令) # 源码 def system(*args, **kwargs): # real signature unknown """ Execute the command in a subshell

    3.5K20发布于 2020-06-09
  • 来自专栏XRSec.Blog

    Unix中路径中包含空格报错

    显然,env 变量的作用域要大些,它可以在 subshell 中使用。

    1K20编辑于 2022-03-12
  • 来自专栏云原生实验室

    线上的执行器收不到信号,险些酿成悲剧...

    我写了一个最小的 case 可以复现这个场景: import asyncio async def subshell(): print("start sleep...") process.pid)) await asyncio.sleep(23) loop = asyncio.get_event_loop() loop.run_until_complete(subshell

    75220编辑于 2021-12-06
  • 来自专栏10km的专栏

    linux shell: 命令运行符号 terminated '&'的意义塈了解control operator指南

    参考手册中找到了官方说明:《Bash Reference Manual》 在《3.2.5 Coprocesses》节(如下图),可知‘&’是一个 control operator,与coproc等价,用于在subshell

    2.6K20发布于 2019-05-25
  • 来自专栏全栈程序员必看

    在bash中export命令作用是什么_bash:no such file or directory

    在子SHELL(subshell)设置和操作变量 , 然后尝试在子 SHELL 的作用范围外使用相同名的变 量将会导致非期望的结果. 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    4.2K20编辑于 2022-10-02
  • 来自专栏企鹅号快讯

    UNIX 高手的 10 个习惯

    您一般可以通过在某个 Subshell 中运行一个命令列表或通过在当前 Shell 中运行一个命令列表来实现此目的。 在 Subshell 中运行命令列表 使用括号将命令列表包括在单个组中。 这样做将在一个新的 Subshell 中运行命令,并允许您重定向或收集整组命令的输出,如以下示例所示: 清单 11. 好习惯 6 的示例:在 Subshell 中运行命令列表 ~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && \ > VAR=$PWD; cd ~; tar xvf 当您在命令列表中重新定义环境变量,并且您不希望将那些定义应用于当前 Shell 时,使用 Subshell 更可取。

    1.6K90发布于 2018-01-23
  • 来自专栏米扑专栏

    Linux操作的10个好习惯

    您一般可以通过在某个 Subshell 中运行一个命令列表或通过在当前 Shell 中运行一个命令列表来实现此目的。 在 Subshell 中运行命令列表 使用括号将命令列表包括在单个组中。 这样做将在一个新的 Subshell 中运行命令,并允许您重定向或收集整组命令的输出,如以下示例所示: 清单 11. 好习惯 6 的示例:在 Subshell 中运行命令列表~ $ ( cd tmp/a/b/c/ || mkdir -p tmp/a/b/c && / > VAR=$PWD; cd ~; tar xvf 当您在命令列表中重新定义环境变量,并且您不希望将那些定义应用于当前 Shell 时,使用 Subshell 更可取。

    1.4K30发布于 2019-02-19
  • 来自专栏Linux云计算及前后端开发

    第十章·Linux系统管理-输入输出

    done) &>date.txt & [root@zls ~]# jobs [1]+ 运行中 ( while :; do date; sleep 2; done ) &>/date.txt & 扩展点: subshell [root@zls ~]# cd /boot; ls #subshell 中执行 [root@zls ~]# (cd /boot; ls) #如果不希望某些命令的执行对当前 shell 环境产生影响 ,请在subshell中执行 管道技术 什么是管道 管道操作符号 "|" 连接左右两个命令, 将左侧的命令的标准输出, 交给右侧命令的标准输入。

    1.4K41编辑于 2022-09-26
  • 来自专栏叽叽西

    Google Shell 风格规范

    Pipes create a subshell, so any variables modified within a pipeline do not propagate to the parent shell The implicit subshell in a pipe to while can introduce subtle bugs that are hard to track down. last_line echo "${last_line}" Using process substitution also creates a subshell. However, it allows redirecting from a subshell to a while without putting the while(or any other command ) in a subshell. last_line='NULL' while read line; do if [[ -n "${line}" ]]; then last_line="${

    1.5K10编辑于 2022-05-17
领券