GNU/Linux >> Linux Esercitazione >  >> Linux

Creazione di alias per Cestino

Prima di tutto, non usi $ quando chiami un alias. $ serve per espandere una variabile (e poche altre cose che non sono particolarmente rilevanti per questa domanda).

Ma, in secondo luogo, gli alias funzionano un po 'come le variabili, nel senso che (a rischio di semplificare un po' troppo) si espandono semplicemente in un mucchio di parole. Dici che vuoi fare myrm foo , ma si espanderebbe a mv /home/user/Trash/* foo , il che non ha senso.

Una soluzione semplice sarebbe definire l'alias come mv -t /home/user/Trash , che funzionerebbe perché mv supporta il

mv -t destination_dir  file
syntaxas un'alternativa al

mv filedestination_dir
sintassi.

Ma puoi ottenere una maggiore flessibilità con una funzione shell. Questi combinano la flessibilità degli script con il (basso) sovraccarico degli alias. Ad esempio,

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

causerà myrm foo da interpretare come mv foo /home/user/Trash .


Probabilmente la soluzione più semplice è usare trash-cli pacchetto. Quindi puoi semplicemente fare alias myrm=trash e poi trash foo per realizzare ciò che vuoi. Tranne che foo ora andrà a ~/. local/share/Trash


Il problema è che con mv devi usarlo come mv source destination .

Con il tuo alias è viceversa mv destination source .

Inoltre non è necessario l'asterisco * alla fine, perché funziona con la destinazione come cartella. Assicurati che la tua cartella /home/user/Trash esiste con mkdir /home/user/Trash .

Per risolvere la tua idea di alias, ti consiglio di dare un'occhiata a queste domande sullo stackoverflow:

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

Questo porterà a quella soluzione; aggiungilo al tuo ~/.bashrc e fai un source ~/.bashrc dopo aver aggiunto:

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

Linux
  1. 10 utili alias Bash per Linux

  2. Come ottenere il completamento di Bash per gli alias di comando?

  3. Rsync ~/foo Target/foo è uguale a Rsync ~/foo/ Target/foo/?

  4. Modifica dei record DNS per un alias di dominio in Plesk

  5. Definisci un alias nel guscio di pesce

Come creare alias per personalizzare i comandi in Debian

I 20 migliori strumenti di plottaggio per Linux per la creazione di grafici scientifici

Come creare un alias per un lungo percorso?

L'alias del nome di configurazione ssh non funziona per scp

Comando equivalente a Linux per comando aperto su Mac/Windows?

Perché 'dd' non funziona per la creazione di USB avviabile?