2017-10-17 6 views
-2

Comment modifier bashrc pour inclure un fichier readme avec le pwd à la source d'origine chaque fois que j'utilise cp ou mv?alias pour cp avec arguments

Il devrait être quelque chose comme ceci:.

alias cp="pwd $1 > readme & cp $1 $2" 

ou

alias cp="pwd $1 > readme | cp $1 $2" 

Mais au lieu du chemin de la source, il me donne le chemin du répertoire que je suis dans

Répondre

2

Vous ne pouvez pas avoir d'alias avec des arguments. Puisque vous n'avez probablement pas $1 défini, pwd $1 vient d'être étendu à pwd.

En outre, pwd ne prend actuellement aucun argument positionnel. Si vous souhaitez que la source apparaisse dans readme, utilisez echo.

Créer une fonction

cp() { 
    echo $1 > readme 
    /bin/cp $1 $2 
} 

En outre,

  • & ne signifie pas ET - il envoie un traitement à fond
  • | ne signifie pas OU - il tuyaux sortie du côté gauche à l'entrée du côté droit
+0

ceci est d'accord, je fait 'unalias cp' et a essayé votre méthode, mais ne change pas le résultat. C'est toujours le 'pwd' dans le répertoire courant. – thatgeeman

+0

@thatgeeman Eh bien, c'est ce que fait 'pwd'. Remplacez-le par 'echo' si vous voulez que la source soit dans * readme *. – pacholik