date 正在输出字符串文字日期

date 正在输出字符串文字日期

我正在编写 shell 脚本并使用 Window 命令行执行它们。

我正在学习如何编写 shell 脚本...就像我已经进入第一章一半一样,如果这告诉你我是多么的新手。

当我date单独使用该命令时,它会生成日期。

如果我使用

echo -n `"I am testing: " date`

它产生:

I am testing: date

我究竟做错了什么?

我希望它产生:

I am testing: Sun June 11 11:30:47

建议?

答案1

echo -n `"I am testing: " date`

将尝试使用作为参数运行I am testing: 命令date,收集其输出并将该主题作为额外参数传递给 split+glob echo。我希望这会给您带来错误,因为您的系统不太可能有该名称的命令。

可能你想要:

printf 'I am testing: %s' "$(date)"

我们收集传递给的输出date(使用现代$(...)形式的命令替换而不是已弃用的命令替换) (应该使用它来代替,特别是如果您需要那些非标准选项,例如)。`...`printfecho-n

或者用bashprintf可以格式化日期:

printf 'I am testing: %(%c)T' -1

-1意思是现在。在 中ksh93,它%(...)T来自哪里,您可以使用now它来代替)。

如果您不想省略行分隔符(这-n在某些echo实现中是这样的),您可以使用:

date '+I am testing: %c'

我们在哪里告诉date我们希望以哪种格式输出日期。

替换%c%a %B %d %T上面的内容以获得Sun June 11 11:30:47您在问题中显示的格式。

相关内容