运行 bash 文件状态:date:未找到命令

运行 bash 文件状态:date:未找到命令

我安装了一个 Ubuntu Server 版本,尽管我对 Ubuntu 还不是很熟悉,但我还是想创建一个 bash 文件来在后台运行一个程序。更重要的是,我想让文件名显示正确,并在开始运行程序之前创建它(我喜欢我的调试功能)。

但是,这是我的 bash 脚本:

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

我已经验证该文件确实存在于 PATH 目录中。但是,问题出在 date 命令上。当我运行脚本时,bash -x game.sh显示的内容如下。

 + 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

我不明白为什么它会说命令不起作用,而我可以进入主控制台并运行date并得到有效的响应。

任何帮助是极大的赞赏!

答案1

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

这将设置PATH只是那个目录,而且我怀疑该目录包含date

使用大写变量名时要小心,因为很容易破坏标准环境变量。

坚持使用小写字母,并更具描述性。例如,考虑使用:

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

相关内容