GNU/Linux >> Znalost Linux >  >> Linux

Vytváření aliasu pro koš

Za prvé, nepoužíváte $ když zavoláte alias. $ je pro rozšíření proměnné (a několik dalších věcí, které nejsou pro tuto otázku nijak zvlášť relevantní).

Ale za druhé, aliasy fungují trochu jako proměnné v tom smyslu, že se (s rizikem, že se trochu zjednoduší) jen rozšiřují na hromadu slov. Říkáte, že chcete udělat myrm foo ,ale to by se rozšířilo na mv /home/user/Trash/* foo ,což nedává smysl.

Jednoduchým řešením by bylo definovat alias jako mv -t /home/user/Trash ,což by fungovalo, protože mv podporuje

mv -t destination_dir  file
syntaxe jako alternativa k

mv filedestination_dir
syntax.

Ale můžete získat větší flexibilitu pomocí funkce shell. Ty kombinují flexibilitu skriptů s (nízkou) režií aliasů. Například,

myrm() { mv "[email protected]" /home/user/Trash; }

způsobí myrm foo být interpretován jako mv foo /home/user/Trash .


Pravděpodobně jednodušší řešení je použít trash-cli balík. Pak stačí udělat alias myrm=trash a poté trash foo abyste dosáhli toho, co chcete. Až na to, že foo nyní přejde na ~/. local/share/Trash


Problém je s mv musíte jej použít jako mv source destination .

S vaším aliasem je to naopak mv destination source .

Také nepotřebujete hvězdičku * na konci, protože pracuje s cílem jako složkou. Zkontrolujte, zda je vaše složka /home/user/Trash existuje s mkdir /home/user/Trash .

Chcete-li vyřešit svůj nápad na alias, doporučil bych vám podívat se na tyto otázky týkající se stackoverflow:

  • https://stackoverflow.com/q/7131670/7311363

To povede k tomuto řešení; přidejte to prosím do svého ~/.bashrc a proveďte source ~/.bashrc po přidání:

myrm() {
 /bin/mv "[email protected]" /home/user/Trash/
}

Linux
  1. Hledání řetězce ve více souborech v systému Linux

  2. Definujte alias, který odkazuje na jiné aliasy

  3. Linux ekvivalentní příkaz pro otevřený příkaz na Mac/Windows?

  1. Jak získat dokončování bash pro aliasy příkazů?

  2. Jak zakázat alias v Bash pro jeden příkaz?

  3. Úprava záznamů DNS pro alias domény v Plesku

  1. Příklady vytvoření aliasu příkazu v různých shellech

  2. Definujte alias v rybí skořápce

  3. Vymažte obrazovku terminálu doopravdy