如何在Linux(ubuntu)中从bash脚本运行execbash命令?
我有一个bash脚本,我想运行这样的命令如何在Linux(ubuntu)中从bash脚本运行execbash命令?,linux,bash,shell,ubuntu,exec,Linux,Bash,Shell,Ubuntu,Exec,我有一个bash脚本,我想运行这样的命令 First-Command \ && exec bash \ && Last-Command execbash将以上述方式抛出错误^^ 如果我这样写: First-Command; exec bash; Last-Command 这种方式不适合我,因为我只想在第一个命令完成后运行execbash 这个场景有解决办法吗 我们是否可以将某个编辑器应用程序连接到终端,并通过该编辑器应用程序向终端提交命令 多谢各位。 当做 Y
First-Command \
&& exec bash \
&& Last-Command
execbash将以上述方式抛出错误^^
如果我这样写:
First-Command;
exec bash;
Last-Command
这种方式不适合我,因为我只想在第一个命令完成后运行execbash
这个场景有解决办法吗
我们是否可以将某个编辑器应用程序连接到终端,并通过该编辑器应用程序向终端提交命令
多谢各位。
当做
Yusuf
exec
用命令替换正在运行的bash
(在本例中,是一个新的bash
)。它将永远不会返回,因此将&&
放在它后面是没有意义的。您可以通过删除exec
来修复它,错误是什么?您可能需要在前两行末尾加一个反斜杠来连接这三行。但也要注意下面的答案,在不运行exec的情况下运行bash,否则最后一个命令将不会运行。阅读我对约翰的回复,我明白了。我不必运行execbash。只要运行bash就会刷新bash,我就可以开始了。所以我可以在最后一行添加&&bash。但是如果我在两个命令之间添加&&bash,那么后面的命令将无法工作。必须成功退出内部bash,才能运行&&last命令。要允许出现错误,可以使用分隔最后一个命令
在bash完成后无条件运行它。分号分隔的命令依次运行,每一个命令都在一个命令之后开始,然后才结束。我抓到你了。更改主机名后,如果使用sudo命令,操作系统将无法解析主机。。如何通过脚本刷新bash,使sudo命令和所有内容在更改主机名后都能正常工作。。不使用exec bash或bash,因为这将丢弃当前bash并加载新的bash,或者当前bash将被推到后台…我正在尝试通过bash脚本自动化hadoop。在更改.bashrc文件、hadoop配置文件、/etc/hosts、/etc/hostname之后,我需要运行execbash。因为我不能从脚本运行execbash,因为它将启动一个新的bash,所以我必须手动执行这些操作。是否有一个不需要手动操作的工作环境?查看此视频,您将理解我想说的内容:。最后hadoop命令不起作用,所以我不得不运行execbash。第一行:{echo“hello”\}第二行:{&&bash\}第三行:{&&echo“bye”}。“再见”不会在屏幕上打印吗?“再见”会在你退出“<代码> BASH < /代码>”时打印。换句话说,您需要键入“exit”或“Ctrl-D”(以给出EOF)。它将开始一场新的狂欢。我以为这只是刷新了当前的狂欢。你能检查一下吗:sudo sed-i'1s/*/newhostname/'/etc/hostname\&sudo hostname newhostname\&sudo sed-i's/old hostname/newhostname/g'/etc/hosts。现在,如果我在这3个命令之后执行sudo,那么在执行execbash或bash之前sudo不会工作。有没有一种方法可以在不重新启动/关闭当前bash的情况下“刷新”bash(因为bash启动新的bash,exec bash启动新的bash,退出旧的bash)?“sudo不工作”是什么意思?是因为主机已重命名吗?它会给你一个错误信息吗?“不工作”是什么意思?