executando estados do arquivo bash: date: comando não encontrado

5

Instalei uma versão do Ubuntu Server e, embora ainda esteja atualizado com o Ubuntu, estou tentando criar um arquivo bash para executar um programa em segundo plano. Mais importante, eu estou tentando obter um nome de arquivo para exibir correto e criá-lo antes de começar a executar o programa (eu gosto de meu material de depuração).

No entanto, aqui está meu script bash:

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

Eu verifiquei que o arquivo existe no diretório PATH. No entanto, o problema está no comando date. Quando eu executo o script bash -x game.sh isto é o que é exibido.

 + 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

Eu não entendo porque diria que o comando não funciona, quando eu posso ir ao console principal e executar date e obter uma resposta válida.

Qualquer ajuda é muito apreciada!

    
por Twister1002 06.08.2015 / 05:38

1 resposta

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

Isso define o PATH para apenas nesse diretório, e duvido que o diretório contenha date .

Tenha cuidado ao usar nomes de variáveis em letras maiúsculas, você pode facilmente estar pisando em uma variável de ambiente padrão.

Escolha minúsculas e seja mais descritivo. Considere usar, por exemplo:

log_path="/var/log/servers/Game/"
NEWFILE="${log_path}${FILENAME}_${DATE}${EXT}"
    
por muru 06.08.2015 / 05:42