web-dev-qa-db-fra.com

besoin de Linux équivalent à Windows "echo% date%% time%% COMPUTERNAME%"

Sous Linux,

"echo %date% %time% %COMPUTERNAME%"

retour

%date% %time% %COMPUTERNAME%

ne pas

Fri 09/24/2010 10:46:25.42 WXP2010043001

comme le fait Windows. Je dois pouvoir le faire pour les journaux que je configure.

24
Captain Claptrap

Utilisez la commande date avec un format comme celui-ci:

date +"%m/%d/%Y %H:%M:%S $HOSTNAME"

Pour obtenir des centièmes de secondes, vous devrez peut-être effectuer un traitement de texte comme celui-ci:

DATE=date +'%m/%d/%Y %H:%M:%S.%N'
DATE=${DATE%???????}
DATE="$DATE $HOSTNAME"

C'est parce que la date offre des secondes, des nanosecondes et rien entre les deux!

34
mkb

Tu peux faire:

dt=$(date)
echo $dt $HOSTNAME
13
codaddict
 echo $ (date '+% Y% b% d% H:% M') Votre sortie $ HOSTNAME 

Les sorties:

 01 nov. 2013 09:11 Votre sortie PEGASUS-SYDNEY-CL2 
12
Mark Casey

il est également possible d'utiliser des caractères backticks pour cela:

echo `date` `hostname`

ou avec une date (localisée) formatant:

echo `date +"%a %x %X"` `hostname`
7
miniwark

En complément: le caractère de pourcentage n'est pas utilisé pour référencer des variables sur un shell Linux. Vous devez utiliser le signe dollar pour cela.

Vous devriez probablement lire une introduction à Bash ( ici )

2
Benoit

Plusieurs personnes ont fourni des réponses basées sur date, mais votre question nécessite le nom du jour court (bien que mon installation UK Win 7 ne le fournisse pas avec la commande ECHO que vous avez spécifiée), ce que personne n'a (jusqu'à présent) adressé.

Pour l'obtenir, vous voudrez probablement inclure %a dans la chaîne de format:

date "+%a %m/%d/%Y %H:%M:%S $HOSTNAME"
2
Bob Sammers

Sous Linux, il existe la commande date. Si vous n'aimez pas le format par défaut, il peut être modifié. Voir la page de manuel de date

Pour le nom d'hôte, vous pouvez utiliser la commande d'environnement hostname ou $ HOSTNAME, si elle est définie.

Avec le nom du système, c'est plus compliqué. Vous pouvez utiliser name -a, parfois il contient le nom du système d'exploitation. Certaines distributions ont également lsb-release, mais pas toutes.

1
jedi_coder