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并获得有效响应时。
任何帮助是极大的赞赏!
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)