发送命令到新的 bash 并且不关闭

发送命令到新的 bash 并且不关闭

我正在编写一个脚本,该脚本需要打开一个新的 bash 实例,输入一些命令,然后让我继续使用该 bash 实例。我该怎么做?目前我有这个:

bash << EOF
    do_something()
EOF

我如何让新的 bash 实例调用 do_something() 然后让我输入其他命令?

稍后编辑:

我实际上使用的是另一个公司内部命令,我无法控制它,它在后台执行一些操作,然后给我一个预配置的 bash。这就是我给出发送命令的示例的原因。因为它可以为任何解释器配置。

答案1

使用子 shell 并通过管道传输到 bash。'script' 也可能有帮助:

user@name:~$ (printf '%s\n' 'echo 1' 'echo 2'; cat) | bash
1
2
echo 3
3
user@name:~$ # DON'T do this: (printf '%s\n' 'echo 1' 'echo 2'; cat) | bash -i
user@name:~$ (printf '%s\n' 'echo 1' 'echo 2'; cat) | script -c 'bash -i' /dev/null
++++Skript gestartet, die Datei ist /dev/null
++++user@name:~$ 1
++++user@name:~$ 2
++++user@name:~$ echo 3
++++3
++++user@name:~$ Skript wurde beendet, die Datei ist /dev/null
user@name:~$ 

备注:加号根本没有出现,我添加它们是为了澄清“脚本”部分。

相反,script -c 'bash -i' /dev/null您可以使用script /dev/null命令默认script调用。bash -i

相关内容