问题:打算使用bash编写一个自动打开新termimal的脚本,但是新的terminal会闪退
#!/bin/bash
cmd="gnome-terminal -- bash -c \"echo hello;exec bash\" "
echo "cmd is $cmd"
$cmd

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

问题:打算使用bash编写一个自动打开新termimal的脚本,但是新的terminal会闪退
#!/bin/bash
cmd="gnome-terminal -- bash -c \"echo hello;exec bash\" "
echo "cmd is $cmd"
$cmd


关注让【道友老李】来帮你解答,本回答参考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,并打开一个新的终端窗口。希望这可以帮到你解决问题。