Создание псевдонима для `ls`, который включает` echo` в csh - PullRequest
3 голосов
/ 15 июня 2011

Я хочу создать псевдоним, который будет добавлять пробел до и после каждого использования ls. Если я использую только ls, результат будет близок к строке выше, и под ней мне иногда будет трудно и запутанно читать вывод. Итак, я начал использовать строку:

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

Есть ли способ поместить его в псевдоним, чтобы каждый раз, когда я буду использовать команду ls, он автоматически добавлял команды echo?

Ответы [ 3 ]

6 голосов
/ 15 июня 2011

У меня нет доступных csh / tcsh, поэтому я не могу проверить, но это должно работать

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

Параметры командной строки в tcsh / csh:

  • !! - это целая командная строка
  • !* - это все аргументы команды
  • !:1 - первый аргумент команды
  • !:2 - второй аргумент команды
  • !$ - последний аргумент команды
4 голосов
/ 15 июня 2011

Может быть неразумно использовать псевдоним ls напрямую, поскольку вы можете использовать его в сценарии, который ожидает нормального вывода.Вместо этого псевдоним что-то вроде lss в вас .cshrc:

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

Вам не нужен "\n", потому что только echo просто печатает новую строку.

4 голосов
/ 15 июня 2011
alias ls 'echo ; /bin/ls something; echo'

Обратите внимание, что вы должны указать полный путь для ls, в противном случае оболочка видит это как попытку повторно вызвать псевдоним и жалуется на попытку рекурсии.

...