在另一个 cygwin 窗口中运行命令并且不退出

在另一个 cygwin 窗口中运行命令并且不退出

从当前 cygwin shell,我想pwd在另一个 cygwin 窗口中运行一个命令(例如,),我使用:

cygstart /bin/bash pwd

它确实生成了一个新的 cygwin 窗口,但立即关闭。我希望窗口仍然打开并显示命令执行结果。

我怎样才能实现这个目标?

提前致谢。

答案1

您可以将其包装到一个简单的 shell 中,该 shell 会在命令结束时等待一些输入。例如,这个实现了这一点:

#!/bin/bash
cmd=$*
tmpcmd=/tmp/cygwr.$$
echo "#!/bin/bash" > $tmpcmd
echo "$cmd" >>  $tmpcmd
echo "read line" >>  $tmpcmd

chmod +x $tmpcmd
cygstart /bin/bash $tmpcmd
rm -f $tmpcmd
  • 将其复制到文件,例如 ~/cygwrap.sh
  • chmod +x ~/cygwrap.sh 然后调用它,例如:

    〜/ cygwrap.sh密码

答案2

尝试将 -i 标志添加到 bash 中,使其成为交互式 shell,并在命令完成时阻止其退出。cygstart /bin/bash -i pwd如果没有 -i,bash 会认为您想要运行命令并退出。

相关内容