gpt4 book ai didi

linux - Bash:如何构建递归 cowsay

转载 作者:太空狗 更新时间:2023-10-29 11:31:29 24 4
gpt4 key购买 nike

这是一个 linux 命令(您可能需要 cowsay 应用程序。

cowsay 'moo'

这是另一个命令:

cowsay 'moo' | cowsay -n

结果很有趣:

 ______________________________
/ _____ \
| < moo > |
| ----- |
| \ ^__^ |
| \ (oo)\_______ |
| (__)\ )\/\ |
| ||----w | |
\ || || /
------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||

当然,现在重复 N 次管道命令非常有趣。它看起来有点像这样:

 cowsay 'moo' | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n

Cows nested inside cows saying things

但我认为必须有一种更简洁的方法来实现这一目标。假设我想要 500 头牛都在互相说话,或者 1,000 头,或者 1,000,000 头。当然,我不必将手指放在粘贴按钮上吗?

这是问题; bash(命令或脚本)中有没有一种方法可以递归地将命令的输出传递给自身给定的次数?

最佳答案

cowsayN() {
local n=$1
shift
if ((n>1)); then
cowsay -n | cowsayN $((n-1))
else
cowsay -n
fi
}
echo 'moo' | cowsayN 500

关于linux - Bash:如何构建递归 cowsay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43272602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com