subshell

    0热度

    2回答

    我想合并所有文件到一个。这里最后一个参数是目标文件名。 我想采取最后一个参数,然后在最后一个参数前循环停止。 下面的代码考虑到我想要实现: echo "No. of Argument : $#" for i in $* - 1 do echo $i cat $i >> last argument(file) done 如何实现这一目标?

    2热度

    2回答

    我在阅读The TTY demystified。在“乔布斯和会话”一节中有使用的xterm用户的例子: $ cat hello hello ^Z [1]+ Stopped cat $ ls | sort 而且还有一个表,列出涉及的过程:xterm,bash(该xterm的孩子),以及最后三个进程(cat,ls和sort)都具有相同的PPID(父进程ID) - 它们都是相同ba

    1热度

    1回答

    我发布了一个小时前的问题,但没有得到任何答复,我现在尝试了一些不同的方法,我将通过包含更少的代码来简化我的问题,但是如果您想要看看我正在使用的其他代码,请检查我的最后一个问题Parallel Processes in bash bitcoin monitor that records to sql leaking data?。我无法让这些变量成功传输到子shell ./test。感谢您的帮助。阵列

    0热度

    1回答

    我的理解是,当我使用类似$ ./myscript.sh的语法在BASH外壳中执行脚本时,启动子外壳并在该外壳中运行代码,同时打印STDOUT和STDERR输出在我的外壳上,STDIN从我的外壳中取出。这是脚本如何互动。 文件“myscript”的第一行是#!/bin/bash,这表示解释器用于在脚本文件中执行语法。 如果我使用语法source myscript.sh,脚本中的代码被“拉”到我当前的

    4热度

    1回答

    我确定我缺少一些简单的东西,但我使用的是执行脚本来调用一些实用程序脚本,并且我想处理所有来自实用程序的输出通过一个管道。我的问题是实用程序使用stderr来报告错误情况,但我无法捕获在父脚本中使用它。 父脚本: #!/bin/bash child 2>&1 >/dev/null 儿童脚本 #!/bin/bash echo "Print" echo "Error" 1>&2 我想到的是

    5热度

    1回答

    开始我在看这个问题在这里,但它似乎并没有为我工作:How to get the process id of a bash subprocess on command line 所以我命令我在一个子shell入手,如: (sleep 10 &) 我怎样才能再拿到睡眠命令的进程ID,并等待它? 如果我在上面的链接中没有任何进程ID匹配我所看到的之后执行ps命令。 谢谢。

    2热度

    2回答

    例如,我有一个主外壳程序main.sh,并且我有另一个子shell程序sub.sh。我想将一个变量var传递给subshel​​l,但我不想使用命令行参数。一个例子代码如下: #In main.sh a=1 ./sub.sh #In sub.sh echo $a 我想看到的输出:1 我知道这个问题很奇怪,不过这个功能最适合我的需要。我无法获得sub.sh,因为在实际的程序中,我有很多

    0热度

    1回答

    从BASH网页: 当脚本使用源它运行现有的外壳内运行, 由脚本创建或修改任何变量将剧本完成后仍然可用 。相反,如果脚本的运行方式与 文件名相同,则会生成单独的子shell(具有完全独立的一组 变量)以运行该脚本。 但是,如果我跑 . myscript & 它运行在这种情况下,一个子shell会发生什么? . myscript &和./myscript &有什么区别?

    1热度

    2回答

    昨天我got some clarification围绕使用flock和一些简单的概念对我来说变得很清楚。 我现在的问题是围绕子壳。看看这个块 ( flock -s 200 # ... commands executed under lock ... ) 200>/var/lock/mylockfile 我的理解是200>/var/lock/mylockfile运行前flock -s 200

    0热度

    1回答

    我正在尝试编写一个bash脚本,该脚本在screen会话中执行命令,该会话在会话中显示命令的输出并在完成时通过电子邮件发送。然而,它并不总是工作,我不能解决原因。我已经蒸行为,下面的例子: 命令 ls | tee >(mail -s 'my subject' [email protected]) 每次都工作正常,一样 bash -c "ls | tee >(mail -s 'my subjec