Вопрос псевдонима Linux - PullRequest
       3

Вопрос псевдонима Linux

0 голосов
/ 09 апреля 2011

Я хочу создать псевдоним для этой команды "rmi", чтобы при выполнении

rmi File.txt

это на самом деле выполнит

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

В основном я хочу изменить порядок аргументов.

Ответы [ 4 ]

3 голосов
/ 09 апреля 2011

Скрипт:

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

-Сохранить это как rmi.

-do: chmod a+x rmi

-Почуть добавить к пути.

1 голос
/ 12 апреля 2011

спасибо за разъяснение этого. В tcsh это просто:

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

это должно сделать это ...

\! 

раскрывает все аргументы после "rmi"

Вы также можете использовать "найти", чтобы сделать это ..

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

... будь осторожен с этим топором! (rm -rf)

1 голос
/ 09 апреля 2011

Вам не нужен сценарий.Вместо псевдонима вы можете написать функцию оболочки:

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

# usage: myfunc <filename>

сохранить ее в ~ / .bashrc или ~ / .zshrc, или в отдельном файле псевдонимов, например.используя идиому

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

в вашем файле dotrc.

1 голос
/ 09 апреля 2011

Вы не можете сделать это с псевдонимом.Вам нужно будет написать скрипт.

...