我试图在打开一个新的 konsole 终端和源文件后打开它。我尝试了以下命令:
konsole -T hello --noclose -e "source file"
我希望终端在获取文件后保持打开状态,但即使--noclose
新的 konsole 也会关闭。如何保持 konsole 保持打开状态
答案1
我猜你想在运行源文件后进行交互式会话。
konsole 使用 system() 或 popen() 调用来执行 -e 参数。 source 是 bash 内置函数,所以你不能直接调用它。
很难告诉 bash 启动命令然后启动交互式会话。有 --init-file 和 --rc-file 选项,但将使用它们而不是常用的配置文件。这可能会带来不方便。
我认为这个 shell 脚本适合你。
#!/usr/bin/env bash
source file
exec bash
将其放入文件“script.sh”中,使其可执行并以这种方式启动
# Edit script.sh
chmod +x script.sh
konsole -e ./script.sh
我猜你在文件中设置了一些变量。如果在交互式会话中使用,则应将其导出。
export VAR=value
或者,如果您不需要交互式会话,您可以使用此脚本
#!/usr/bin/env bash
source file
echo "Press enter to exit"
read
出色地。 konsole 中也可能存在错误。或许我们应该报告一下。