【问题标题】:gnome-terminal new tab with alias as command to execute带有别名的 gnome-terminal 新选项卡作为要执行的命令
【发布时间】:2013-06-28 10:29:43
【问题描述】:

我在.bashrc 文件中创建了一个别名,如下所示

alias myproject = 'cd ~/Desktop/myproject'

在我重新启动终端时保存文件后,输入 myproject 会将我带到项目目录,但是当我尝试将别名用作新 gnome-terminal 选项卡的命令参数时,它会引发错误,

gnome-terminal --tab -e "myproject"

抛出错误

There was an error creating the child process for this terminal
Failed to execute child process "myproject" (No such file or directory)

这有什么问题?

【问题讨论】:

  • 你找到解决方案了吗?
  • FWIW,在 Mac 上,您可以编写一个 osascript 来打开终端并自动执行一些任务。

标签: linux alias gnome-terminal


【解决方案1】:

当 bash shell 启动时,默认情况下 bash 会执行 .bashrc 中指定的命令。这就是你的 shell 如何知道你的aliases。

现在你的想法行不通了,因为gnome-terminal 永远不会看到你的.bashrc 文件。

你可以试试

gnome-terminal --working-directory='<path-to-your-home-directory>/Desktop/myproject/

【讨论】:

  • 我的别名正在获取文件并遇到同样的问题。 alias gratenv 'source /repo/${USER}/.grat.wd' 无法执行子进程“source setEnvironmentCommands”(没有这样的文件或目录)“source /repo/${USER}/.grat.wd” 你有吗知道它的根本原因吗?我也尝试在启动 gnome-terminal 后直接执行此命令,但没有成功。
【解决方案2】:

我正在尝试做类似的事情......可能不完全是你想要的,但是:

alias startMyRailsProject='cd ~/Desktop/myproject; gnome-terminal --tab --tab -e "rails s" --tab -e "rails c"; exit'

这个: - 将目录更改为我想要的位置 - 启动一个新的 gnome 终端(在之前的正确目录中) - 创建第二个选项卡并启动我的 Rails 服务器 - 创建第三个选项卡并启动我的 rails 控制台 - 然后关闭我调用它的原始终端窗口。
它可以满足我的需要并节省了一堆重复的击键:-) 干杯

【讨论】:

    【解决方案3】:

    我成功地让其中一些工作,我缺少我的别名,但我可以通过以下方式运行我想要的程序:

    gnome-terminal --window --title="testtitle" -- $SHELL -c "<path to script/application>/<script/application> <arguments>;"
    

    一个例子:

    gnome-terminal --window --wait --title="testtitle" -- $SHELL -c "echo test;read -p \"press any key to exit\" -n 1 ;"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-29
      • 1970-01-01
      相关资源
      最近更新 更多