从子shell运行shell命令
我有一个unixshell脚本test.sh。在脚本中,我希望调用另一个shell,然后从子shell执行shell脚本中的其余命令并退出 为了说明这一点:从子shell运行shell命令,shell,unix,scripting,Shell,Unix,Scripting,我有一个unixshell脚本test.sh。在脚本中,我希望调用另一个shell,然后从子shell执行shell脚本中的其余命令并退出 为了说明这一点: test.sh #/bin/bash /bin/bash/*创建子shell*/ ...... 出口0 我的意图是从子shell运行shell-commands1到shell-commandN。请告诉我如何执行此操作,下面是一个示例: #!/bin/bash # subshell-test.sh ( # Inside parenthes
test.sh
#/bin/bash
/bin/bash/*创建子shell*/
......
出口0
我的意图是从子shell运行shell-commands1到shell-commandN。请告诉我如何执行此操作,下面是一个示例:
#!/bin/bash
# subshell-test.sh
(
# Inside parentheses, and therefore a subshell . . .
while [ 1 ] # Endless loop.
do
echo "Subshell running . . ."
done
)
# Script will run forever,
#+ or at least until terminated by a Ctl-C.
exit $? # End of script (but will never get here).
您可以在组中进行设置,如
#!/bin/bash
(
Command1
Command2
etc..
)
subshell() {
echo "this is also within a subshell"
}
subshell
(and)创建一个子shell,在其中运行一组命令,否则一个简单的函数就可以了。我不知道POSIX是否兼容(和)
更新:如果我正确理解您的评论,您希望将-c
选项与bash
一起使用,如
/bin/bash -c "Command1 && Command2...." &
但是我需要使用命令
/bin/bash
。无法删除该命令。在执行/bin/bash之后,将创建一个新的shell,我希望从新的shell执行其余的命令shell@LinuxPenseur:新进程是父进程的一个单独实例,因此我相信您放在()
之间的代码将由/bin/bash
Thanks Anders执行。但是,/bin/bash-c“Command1&&Command2…”
没有显示命令其余部分应该从其中开始的新子shellexecute@LinuxPenseur,那么,如果您附加一个&
,它会:)
/bin/bash -c "Command1 && Command2...." &