我可以从 popen() 流打开 bash 吗?

Jef*_*her 5 c linux bash shell popen

根据 popen() 的手册页,我正在打开一个 /bin/sh ......有没有办法可以重载这种行为来打开 /bin/bash shell 并与 BASH shell 脚本交互?或者我需要打开一个 pty 风格的连接来做到这一点?

Pro*_*ica 0

也许最简单的是有一个小的 sh 脚本,它依次调用您的 bash 脚本,如下所示:

#!/bin/sh

exec bash yourscript.sh "$@"
Run Code Online (Sandbox Code Playgroud)

或者您可以放弃 popen 并使用 fork() 和 execl() 实现您自己的 popen。