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!
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}"