Bash 使用Shell脚本在新文件中打印带有某些文本的日期

Bash 使用Shell脚本在新文件中打印带有某些文本的日期,bash,shell,sh,Bash,Shell,Sh,我不熟悉Shell脚本 我想使用shell脚本创建一个文件,并在该文件中写入当前日期和时间。所以我尝试了下面的代码。它成功地创建了文本文件并写入了文本,但没有写入日期。我不知道我错过了什么。任何帮助都将不胜感激 echo $(date) : New Log File Created > Output.txt echo $(date) : Exiting the program >> Output.txt 它只是像这样打印输出 "$(date) : New Log File C

我不熟悉Shell脚本

我想使用shell脚本创建一个文件,并在该文件中写入当前日期和时间。所以我尝试了下面的代码。它成功地创建了文本文件并写入了文本,但没有写入日期。我不知道我错过了什么。任何帮助都将不胜感激

echo $(date) : New Log File Created > Output.txt
echo $(date) : Exiting the program >> Output.txt
它只是像这样打印输出

"$(date) : New Log File Created"

首先,如果要在文件名中使用日期,则需要格式化日期的输出。如果没有,您可以使用标准日期命令。您可以找到日期格式说明

以下是将当前日期和时间输出到文本文件的示例代码块:

#!/bin/bash

echo $(date +%F-%T) >> Output.txt
此处%F以以下格式输出完整日期:YYYY-MM-DD

和%T以以下格式输出时间:HH:MM:SS

如果要添加的文本多于日期,可以使用
分隔符创建字符串,如下所示:

echo "$(date +%F-%T) Log output" >> Output.txt
将所有文本放在字符串中可以确保bash不会将字符串中的内容解释为运算符和分隔符

编辑:bash版本的屏幕截图:


使用双引号运行
echo“$(日期):创建的新日志文件“>Output.txt
请向我们展示一个最简单的示例:第一行(
#!/
内容)和一个不工作的echo行。
echo$(日期):创建的新日志文件在此处工作。这是我在批处理文件中的完整代码。我没有在该批处理文件中包含任何其他行。所有bash脚本都需要一个Shebang,它告诉您使用哪个shell来运行脚本。最常见的Shebang是#!/bin/bashi,我使用您的代码创建了一个批处理文件。但它在新文件中返回的输出为“$(日期+T)”。即使我在Cmd提示符下尝试了它,它也会在新文件中以“$(日期+F-%T)”的形式返回输出“这就是问题所在,我尝试了我在这个网站上找到的所有东西。但它只是在文件中打印文本。我不知道我错过了哪里。你能运行type-a bash吗,看看你是否有多条路径。如果没有,请运行哪个bash以确保其可执行的完整路径,然后在其上运行--version。我在回答中添加了一个屏幕截图,向您展示。请提供/bin/bash--versionHi-Dexirian的输出,它成功了。谢谢你的帮助。这是我愚蠢的错误。我改正了。没问题,很乐意帮忙。如果这个答案令人满意,你能接受吗?谢谢你。谢谢你,德克西林。