zsh 中的脚本存在错误/功能/故障

zsh 中的脚本存在错误/功能/故障

我在 tecmint 上发现了一个很酷的脚本:

while true; do echo "$(date '+%D %T' | toilet -f term -F border --gay)"; sleep 1; done

并尝试在我的 .zshrc 中将其别名为 what-time,如下所示:

alias what-time = "while true; do echo "$(date '+%D %T' | toilet -f term -F border --gay)"; sleep 1; done"

问题是,当我重新加载 zsh 并输入 what-time 时,显示的不是所需的输出,而是以下内容:

while>

这是一个无休止的提示,对我来说似乎它没有执行主体while。有人可以帮忙吗?

顺便说一下我使用 Arch

答案1

您需要"通过 来转义引号,并通过 来\"转义美元符号运算符。此外,您不能在 、 和代码之间留空格。(而不是、)$\$alias=alias foo = "foo"alias foo="foo"

因此你的命令别名

while true; do echo "$(date '+%D %T' | toilet -f term -F border --gay)"; sleep 1; done

what-time

alias what-time="while true; do echo \"\$(date \"+%D %T\" | toilet -f term -F border --gay)\"; sleep 1; done"

相关内容