Unix: использование даты в псевдониме не выводит текущую дату / время - PullRequest
2 голосов
/ 18 октября 2011

В моем bash_profile я ссылаюсь на внешний файл alias.sh, который имеет следующий псевдоним:

alias date="echo `date "+%Y-%m-%d at %H:%M":%S`"

Если я запускаю date в новом терминальном сеансе, он постоянно выводит конкретную дату в тот момент, когда был получен файл alias.sh (т.е. когда я начинал новый сеанс)…

Как создать псевдоним, который фактически выводит текущую дату при выполнении команды с псевдонимом?

Ответы [ 3 ]

5 голосов
/ 18 октября 2011

Э-э, а почему не просто?

alias date='date "+%Y-%m-%d at %H:%M":%S'

Нет необходимости повторять это.Когда вы используете обратную галочку (`), все, что находится в ней, оценивается при получении alias.sh.

2 голосов
/ 04 апреля 2017

Вы можете поместить символ обратной косой черты перед каждым символом обратной цитаты. :

sysadmin@localhost:~$ alias p=\'date\'
sysadmin@localhost:~$ p  
Tue Apr  4 13:17:57 UTC 2017 
sysadmin@localhost:~$ echo Today is $(p)                                        
Today is Tue Apr 4 13:19:18 UTC 2017
0 голосов
/ 21 декабря 2016

Добавьте это к вашему ~/.aliases файлу:

alias cd 'cd \!* ; set prompt = "\n`/bin/pwd`\n:%{^[];%~^G%}%{^[[0;37m%}(%{^[[1;36m%}%p%{^[[0;37m%})%{^[[0;35m%}%m%{^[[0;37m%}%{^[[0;33m%}>%{^[[0;37;37m%}:\n`/usr/bin/whoami`>>>>>>>>>>>>>>>> "' 

Затем запустите $source ~/.aliases

...