首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在shell脚本文件中执行新的bash命令?

如何在shell脚本文件中执行新的bash命令?
EN

Stack Overflow用户
提问于 2021-03-29 06:53:38
回答 1查看 823关注 0票数 0

如何使下面的脚本正常工作?

代码语言:javascript
复制
1  #/bin/bash
2
3  # some commands
4
5  bash
6  # a lot of commands
7  # ...
8  exit
9  
10 bash
11 # A lot of other commands
12 # ...
13 exit
14 
15 exit 0

问题是,在shell中执行脚本时,将输入一个新的交互式bash,并在那里停止执行,等待标准输入。由于子环境实际上可能不是BASH,所以第4行和第9行中的bash命令只是例子,这就是为什么我需要一个新的解决方案,而不是将这些命令放入单独的文件和调用中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-29 09:36:58

这是记录在案的行为。如果您只执行一个bash,就会得到一个交互式的shell。如果您想在子进程中运行几个bash命令,这可能就是您想要的,因为您标记了问题子subshell,您可以编写

代码语言:javascript
复制
bash FILENAME

其中文件名是包含命令的文件的名称。如果要在当前进程中运行几个bash命令,则编写

代码语言:javascript
复制
source FILENAME
. FILENAME

source.之间的差别很小,您可以在bash手册页中找到它们。

如果希望在子进程中运行多个命令,而不将它们放入单独的文件中,则可以使用

代码语言:javascript
复制
(
   some command
   some other command
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66849823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档