运行 bash 文件状态:日期:找不到命令

Twi*_*002 7 command-line bash scripts

我已经安装了一个版本的 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}
Run Code Online (Sandbox Code Playgroud)

我已验证该文件确实存在于 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
Run Code Online (Sandbox Code Playgroud)

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

任何帮助是极大的赞赏!

mur*_*uru 9

PATH="/var/log/servers/Game/"
Run Code Online (Sandbox Code Playgroud)

这台PATH刚才那个目录,我怀疑目录中包含date

使用大写变量名时要小心,你很容易踩到标准环境变量。

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

log_path="/var/log/servers/Game/"
NEWFILE="${log_path}${FILENAME}_${DATE}${EXT}"
Run Code Online (Sandbox Code Playgroud)