Linux 别名问题

发布于 2024-10-31 10:01:50 字数 174 浏览 0 评论 0原文

我想为这个命令“rmi”创建一个别名,这样如果我执行

rmi File.txt

它就会实际执行

ls * | grep -v File.txt | xargs rm -rf

基本上我想重新排序参数。

I want to create an alias for this command "rmi" so that if I execute

rmi File.txt

it will actually execute

ls * | grep -v File.txt | xargs rm -rf

Basically I want to reorder arguments.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情愿 2024-11-07 10:01:50

脚本:

#!/usr/bin/env bash
ls * | grep -v $1 | xargs rm -rf

- 将其另存为 rmi。

-do: chmod a+x rmi

-然后添加到路径。

Script:

#!/usr/bin/env bash
ls * | grep -v $1 | xargs rm -rf

-Save this as rmi.

-do: chmod a+x rmi

-Then add to path.

梦太阳 2024-11-07 10:01:50

您不能使用别名来做到这一点。你需要写一个脚本。

You can't do that with an alias. You'll need to write a script.

夜夜流光相皎洁 2024-11-07 10:01:50

你不需要脚本。除了别名之外,您还可以编写一个 shell 函数:

myfunc() {
  ls * | grep -v $1 | xargs rm -rf
}

# usage: myfunc <filename>

将其存储在 ~/.bashrc 或 ~/.zshrc 中,或者单独的别名文件中,例如: 习惯用法。

test -f ~/.zaliases && source ~/.zaliases

使用dotrc 文件中的

You don't need a script. Instead of alias, you can write a shell function:

myfunc() {
  ls * | grep -v $1 | xargs rm -rf
}

# usage: myfunc <filename>

store it in ~/.bashrc or ~/.zshrc, or a separate aliases file, eg. using the idiom

test -f ~/.zaliases && source ~/.zaliases

in your dotrc file.

梦年海沫深 2024-11-07 10:01:50

感谢您澄清这一点。在 tcsh 中这很简单:

alias rmi 'ls * | grep -v \! | xargs rm -rf'

这应该可以做到...

\! 

扩展“rmi”后面的所有参数

,您也可以使用“find”来执行此操作......

find . -type f | grep -v \! | xargs rm -rf'

小心那把斧头! (rm-rf)

thanks for clarifying this. In tcsh it's easy:

alias rmi 'ls * | grep -v \! | xargs rm -rf'

this should do it...

\! 

expands all arguments following "rmi"

you could also use "find" to do this..

find . -type f | grep -v \! | xargs rm -rf'

... be careful with that axe! (rm -rf)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文