在我的 .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 论坛帖子详细了解一下没有工作。