我在 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"