m0_60223847 2025-02-23 17:30 采纳率: 100%
浏览 16
已结题

shell脚本中执行gnome-terminal闪退,如何解决?

问题:打算使用bash编写一个自动打开新termimal的脚本,但是新的terminal会闪退

#!/bin/bash
cmd="gnome-terminal -- bash -c \"echo hello;exec bash\" "
echo "cmd is $cmd"
$cmd

img


如果我把cmd直接拷贝的termimal执行,结果是符合预期的

img

  • 写回答

3条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-02-23 17:30
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    这个问题可能是因为在脚本中使用了变量cmd,但是在gnome-terminal中无法直接访问到这个变量。你可以尝试在脚本中将cmd传递给gnome-terminal,如下所示:
    #!/bin/bash
    cmd="gnome-terminal -- bash -c 'echo hello; exec bash'"
    echo "cmd is $cmd"
    eval $cmd
    

    这样,脚本中的cmd将会被正确传递给gnome-terminal,并打开一个新的终端窗口。希望这可以帮到你解决问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日