Question

Je veux faire un alias qui ajoutera un espace avant et après chaque fois que je utilisation ls. Si je viens d'utiliser ls le résultat est proche de la ligne ci-dessus et en dessous, je trouve parfois difficile et déroutant de lire la sortie. J'ai donc commencé à utiliser la ligne:

echo "\n"; ls something ; echo "\n"

Y at-il un moyen de le mettre dans un alias, de sorte que chaque fois que je vais utiliser la commande ls il ajoutera automatiquement les commandes echo?

Était-ce utile?

La solution

Ne pas csh / tcsh disponible donc je ne peux pas tester, mais cela devrait fonctionner

alias ls 'echo "\n"; ls \!* ; echo "\n"'

paramètres de ligne de commande dans tcsh / csh:

  • !! est toute la ligne de commande
  • !* est tous les arguments de la commande
  • !:1 est le premier argument de la commande
  • !:2 est le second argument de la commande
  • !$ est le dernier argument de la commande

Autres conseils

alias ls 'echo ; /bin/ls something; echo'

Notez que vous devez fournir le chemin complet pour ls, sinon le shell voit comme une tentative d'appeler l'alias de nouveau et se plaint de la tentative de récursivité.

Il est peut-être sage de ls alias directement, puisque vous pouvez l'utiliser dans un script qui attend la sortie normale. Au lieu de cela, alias quelque chose comme lss en vous .cshrc:

alias lss 'echo; /bin/ls; echo;'

Vous n'avez pas besoin "\n" parce echo seul simple, imprime une nouvelle ligne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top