В Linux,
"echo %date% %time% %COMPUTERNAME%"
возвращает
%date% %time% %COMPUTERNAME%
не
Fri 09/24/2010 10:46:25.42 WXP2010043001
как это делает Windows. Мне нужно сделать это для журналов, которые я настраиваю.
В Linux,
"echo %date% %time% %COMPUTERNAME%"
возвращает
%date% %time% %COMPUTERNAME%
не
Fri 09/24/2010 10:46:25.42 WXP2010043001
как это делает Windows. Мне нужно сделать это для журналов, которые я настраиваю.
Используйте команду date с таким форматом:
date +"%m/%d/%Y %H:%M:%S $HOSTNAME"
Чтобы получить сотые секунды, вам может понадобиться выполнить некоторую текстовую обработку следующим образом:
DATE=date +'%m/%d/%Y %H:%M:%S.%N'
DATE=${DATE%???????}
DATE="$DATE $HOSTNAME"
Это потому, что дата предлагает секунды, наносекунды и ничего между ними!
Вы можете сделать:
dt=$(date)
echo $dt $HOSTNAME
echo $(date '+%Y %b %d %H:%M') Your output $HOSTNAME
Выходы:
2013 Nov 01 09:11 Your output PEGASUS-SYDNEY-CL2
также можно использовать обратные символы для этого:
echo `date` `hostname`
или с (локализованным) формированием даты:
echo `date +"%a %x %X"` `hostname`
В качестве дополнения: процентный символ не используется для ссылки на переменные в любой оболочке Linux. Для этого вы должны использовать знак доллара.
Вам, вероятно, следует прочитать введение в Bash (здесь)
Несколько человек предоставили ответы на основе date
, но на ваш вопрос требуется короткое имя дня (хотя моя установка в Великобритании Win 7 не предусматривает эту команду ECHO, которую вы указали), которую никто не имеет (до сих пор) адрес.
Чтобы получить это, вы, вероятно, захотите включить %a
в строку формата:
date "+%a %m/%d/%Y %H:%M:%S $HOSTNAME"
В Linux существует команда date. Если вам не нравится формат по умолчанию, его можно изменить. См. Справочную страницу даты
Для имени хоста вы можете использовать команду имя хоста или переменную среды $HOSTNAME, если она установлена.
С именем системы это сложнее. Вы можете использовать uname -a, иногда он содержит имя ОС. Некоторые дистрибутивы также имеют lsb-release, но не все из них.