web-dev-qa-db-fra.com

lancer un fichier bash états: date: commande introuvable

J'ai installé une version d'Ubuntu Server et bien que je sois assez récent avec Ubuntu, j'essaie de créer un fichier bash pour exécuter un programme en arrière-plan. Plus important encore, j'essaie de créer un nom de fichier correct et de le créer avant de lancer le programme (j'aime mon travail de débogage).

Cependant, voici mon script bash:

 #!/bin/bash
 PATH="/var/log/servers/Game/"
 FILENAME="startup"
 EXT=".log"
 DATE=$(date +%d-%m-%Y)
 NEWFILE=${PATH}${FILENAME}_${DATE}${EXT}

J'ai vérifié que le fichier existe dans le répertoire PATH. Cependant, le problème concerne la commande date. Lorsque j'exécute le script bash -x game.sh c'est ce qui est affiché.

 + PATH=/var/log/servers/Game/
 + FILENAME=startup
 + EXT=.log
 ++ date +%d-%m-%Y
 game.sh: line 5: date: command not found
 + DATE=
 + NEWFILE=/var/log/servers/Game/startup_.log
 + echo /var/log/servers/Game/startup_.log

Je ne comprends pas pourquoi on dirait que la commande ne fonctionne pas, lorsque je peux accéder à la console principale et exécuter date et obtenir une réponse valide.

Toute aide est grandement appréciée!

7
Twister1002
PATH="/var/log/servers/Game/"

Ceci définit le PATH sur seulement ce répertoire, et je doute que ce répertoire contienne date.

Soyez prudent lorsque vous utilisez des noms de variables majuscules, vous pourriez facilement piétiner une variable d'environnement standard.

Tenez-vous en minuscules et soyez plus descriptif. Pensez à utiliser, par exemple:

log_path="/var/log/servers/Game/"
NEWFILE="${log_path}${FILENAME}_${DATE}${EXT}"
9
muru