压缩多个相似的别名

压缩多个相似的别名

我一直在努力创建新的别名以在工作中使用,并注意到我的 .csh 文件中充满了类似的别名,这些别名指向不同的子目录,但其他一切都相同。我对终端别名和命令比较陌生,我想知道是否有可能创建一个可以接收输入并将其应用于别名和目录的万能工具?

例子:

alias ab1 "cd /home/drive/folder1/text/items && ll"
alias ab2 "cd /home/drive/folder2/text/items && ll"
alias ab3 "cd /home/drive/folder3/text/items && ll"

我想看看是否有可能

alias ab* "cd /home/drive/folder*/text/items && ll"

当我输入 ab2 时,它会自动将文件夹* 目录填充到文件夹2。

当我使用它们时,它们各自独立运行,很少同时运行。我尝试查找它,但不确定如何措辞才能通过搜索正确表达我的意图。提前感谢您的任何意见。

答案1

与大多数 shell 不同(在这些 shell 中,你需要使用shell 函数对于这种事情),C shell 支持别名的参数化:

~/dir> alias ab "echo /home/drive/\!:1/text/items"
~/dir> ab foo
/home/drive/foo/text/items
~/dir> ab bar
/home/drive/bar/text/items
~/dir>

所以你应该能够做到

alias ab "cd /home/drive/folder\!:1/text/items && ll"

然后

ab 1
ab 2

ETC。

例如

相关内容