You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在bash脚本中用gnome-terminal打开新终端并执行ls命令?

解决gnome-terminal打开新窗口执行命令的问题

我完全懂你现在的困扰——试了一堆参数组合,要么碰到-e选项过时的警告,要么直接弹出找不到命令的错误,翻旧帖子还都是过时的方案。别慌,咱们一步步来搞定这个问题:

正确的命令格式

现在gnome-terminal官方已经弃用了-e选项,推荐用--来分隔终端的选项和你要执行的命令。针对你的需求,正确的命令应该是:

gnome-terminal --window -- ls

如果要执行带参数的命令(比如查看详细列表),可以直接在命令后加参数:

gnome-terminal --window -- ls -l ~/Documents

为什么之前的尝试会出错?

咱们来拆解下你遇到的两个核心错误:

  1. Failed to execute child process "ls":这个错误是因为系统没有正确识别ls是PATH里的命令,当你没加--分隔选项和命令时,gnome-terminal会把ls当成需要完整路径的可执行文件,自然找不到。
  2. Option "-e" is deprecated:确实,-e已经被官方标记为过时,虽然有些旧版本还能凑合用,但新版本会直接触发警告,而且后续会被移除,所以必须改用官方推荐的--方式。

写进bash脚本的示例

把正确的命令放进你的脚本里,完整的脚本应该是这样的:

#!/bin/bash
# 打开新终端窗口并执行ls命令
gnome-terminal --window -- ls

保存后给脚本加执行权限:chmod +x your_script.sh,运行./your_script.sh就能看到新终端窗口弹出并执行ls了。

进阶:执行多个命令

如果想在新终端里执行一系列命令(比如ls之后显示提示,不让窗口立刻关闭),可以用bash -c包裹命令串:

gnome-terminal --window -- bash -c "ls; echo '命令执行完成'; read -p '按回车键关闭窗口'"

这样窗口执行完命令后会等待你按回车再关闭,方便查看输出。

内容的提问来源于stack exchange,提问作者Marcvs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:02:34