如何在新屏幕窗口中执行 bash 别名?

如何在新屏幕窗口中执行 bash 别名?

在我的 .screenrc 中,我有几行类似于以下的内容:

screen -t qf1 bash

因此,对于该窗口,我目前正在执行 bash。相反,我想执行以下别名“qf”,这是一个针对特定 URL 执行 lynx 的 bash 别名。

但是,我收到以下错误:

"Cannot exec 'qf': No such file or directory"

我知道这可能与路径有关,但提供:

screen -t qf1 lynx www.google.com

也不起作用。我知道我忽略了一些明显的东西。谢谢!

答案1

最有可能的是,您的 bash 别名无法在屏幕上使用。有几种方法可以解决这个问题。

  • 如果你的别名.bash_profile.bashrc
  • 使用开关启动 bash shell,-l强制 bash 解析.bash_profile

看一下这个问题对于类似的问题。

编辑

实际上有两件事阻碍了它的实现:

使用bash命令字符串语法将命令传递到新窗口

    screen -t "YayScreen" bash -c "man screen"

屏幕上的别名很麻烦

在 $PATH 中创建一个具有所需名称的 bash 脚本(例如/bin),并以与上述示例相同的方式调用它。例如,我有一个非常简单的别名,称为,psgrep它按名称查找进程。我创建此脚本如下/bin/psgrep

#!/bin/bash
ps aux | grep -v grep | grep $1

然后我可以将其添加到我的.screenrc

screen -t "Useless Command" bash -c "psgrep gnome"

看看这个老Mac OS X 论坛帖子详细了解一下没有工作。

相关内容