我正在使用 tcsh 在具有大量预定义别名的网络上使用 Fedora 18。我也添加了我自己的个人别名,但我希望能够在单独的列表中显示这些别名。
现在我有一个.cshrc
从文件加载别名定义的文件.alias
。这是带有预定义别名的文件。我想创建第二个名为 的文件.myalias
,将我的个人别名放在那里,然后.cshrc
也加载它。效果很好。
遗憾的是,使用该alias
命令仅列出所有定义的别名。我只想列出.myalias
文件中的我的个人别名,但格式与alias
命令的输出相同。有没有办法做到这一点?
答案1
不,我不相信有任何方法可以区分来自系统或文件的别名.myaliases
。我通常使用grep
orless
并将命令的输出alias
通过管道传输到任一位置以查找我想要的内容。
此外,我通常会遍历文件的内容,例如.myalias
查找我要查找的内容。
例子
假设我有以下别名。
$ alias
egrep egrep --color=auto
fgrep fgrep --color=auto
grep grep --color=auto
l. ls -d .* --color=auto
ll ls -l --color=auto
ls ls --color=auto
mc source /usr/libexec/mc/mc-wrapper.csh
vi vim
which alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde
fgrep
我会找到像这样的定义:
$ alias | grep "^fgrep"
fgrep fgrep --color=auto
您还可以使用less
它为自己提供多个别名页面的视图,然后可以使用箭头键来回移动这些页面,或者可以使用正斜杠 ( /) 后跟您要查找的任何字符串来搜索输出。
$ alias | less