2017-01-15 4 views
0

Je veux faire un alias dans bash pour ce faire: mv -vi SomeFile_or_Directory /tmp et de l'utiliser au lieu de dangereux rmFaire un alias pour Temp Retirer

J'utilise un script (placé dans /usr/bin/) pour le faire maintenant, mais j'aimerais utiliser un alias à la place.

le script:

#!/bin/bash 
for i in [email protected] 
do 
    mv -vi $i /tmp 
done 

J'ai essayé alias t='for i in [email protected];do;mv -vi $i /tmp;done' mais cela n'a pas fonctionné.

Comment résoudre ce problème?

Répondre

2

Utilisez une fonction à la place:

t() { 
    for i in "[email protected]"; do 
     mv -vi -- "$i" /tmp 
    done 
} 
+0

effectivement essayé celui-ci aussi, juste pensé que ce ne serait pas une bonne idée de mettre une fonction dans '.bashrc' – Vin

+1

Il n'y a rien de mal à définir les fonctions à mettre dans' .bashrc'. – chepner

1

Dans ce cas, un alias ne fonctionnera pas; Les alias cuz ne supportent pas complètement le flux de contrôle.

Placez la fonction ou le script dans votre .profile. De cette façon, vous pouvez accéder à la commande depuis d'autres shells, par ex. zsh.