gpt4 book ai didi

linux - 将输入从一个 shell 传递到另一个 shell,然后再次返回输入

转载 作者:太空宇宙 更新时间:2023-11-04 13:02:10 26 4
gpt4 key购买 nike

因此,我正在寻找一种将输入从一个 shell 传递到另一个 shell 的方法。我正在开发一个程序,它使用默认 shell(在我的例子中是 bash)花费大量时间向操作系统发送命令以供其执行。我需要对 shell 所做的更改(本地目录中的更改、新别名等)才能“坚持”,我希望通过保持隐藏但持久的 bash 进程来执行我的程序来做到这一点.有解决这个问题的好方法吗?

我基本上是在编写一个在 bash 之上运行的程序,处理它理解的输入并将它不理解的输入传递给操作系统以执行。问题是,当我去更改事件目录时,它会在一次性 shell 中更改事件目录;它将打开一个 sh 进程,更改它的目录,然后在我有机会对其进行任何操作之前关闭该进程。我想保留一个 sh 或 bash 进程并以交互方式重用它来做我想做的事。也就是说,我不希望用户从桌面环境中看到该进程。

话虽这么说,但我还没有找到一种方法来让它发挥作用,而且我不确定从这里该何去何从。

想法,有人吗?我已经在使用 rlwrap,但这并没有解决这个问题,因为它从来都不是故意的。

最佳答案

你可以尝试这样的事情:


#!/bin/bash
shopt -s expand_aliases
source ~/.bash_aliases
set -o allexport
youraliashere

这应该使别名和本地目录在您运行 shell 时保持不变,除非您希望以交互方式运行它,否则我可能误解了您的问题。

关于linux - 将输入从一个 shell 传递到另一个 shell,然后再次返回输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33602802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com