2010-11-10 59 views
0

je besoin d'utiliser ce qui suit souventComment créer un alias pouvant substituer des arguments à C shell?

diff <filename.c> standard 

Comment puis-je avoir un alias (adiff) pour cela pour que je ferais

adiff filename.c 

et il élargirait à

diff filename.c standard 
+1

Alias ​​ne prennent pas de paramètres et csh n'a pas de fonctions. Vous devez utiliser un script. C'est l'une des [nombreuses raisons de ne pas utiliser csh] (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/). –

Répondre

2

Utilisez l'option '--to-file' de diff.

Essayez d'ajouter cette ligne à votre .cshrc:

alias adiff '/usr/bin/diff --to-file=standard' 

Juste testé cela dans Bash (différent syntaxe alias cependant) et semble fonctionner.

Veuillez insérer le chemin d'accès complet au fichier "standard" pour vous assurer que vous pouvez également l'appeler à partir d'autres répertoires.

Maintenant, vous devriez être en mesure d'utiliser:

$ adiff fromfile 
+0

merci, fonctionne (sur csh)! – Lazer

0

Écrivez un script et placez-le dans votre dossier bin:

Lecture du premier paramètre de votre entrée de script et exécution diff <param1> standard

+0

Est-ce que je ne peux pas mettre quelque chose dans '.cshrc' à cet effet? – Lazer

+0

Vous pouvez faire un alias pour diff afin que tapant diff au shell va exécuter adiff à la place (alias diff diff (pas sûr de la commande)) où adiff est votre script, mais afaik, yo ne peut pas utiliser directement alias, vous allez besoin du script. – user472875