【发布时间】:2009-11-08 19:55:11
【问题描述】:
我希望编写一个 Bash 单行程序,它为列表中的每个项目调用一次函数。例如,给定列表
foo bar baz和程序“cowsay”,它会产生:
_____
< foo >
-----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
_____
< bar >
-----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
_____
< baz >
-----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
(也许中间有额外的文字,并不重要)
我知道我可以使用 bash 脚本来做到这一点:
#!/bin/sh
for w in $@; do
cowsay $w
done
但我无法想象没有其他方法可以做到这一点。
编辑:我想我最初的问题不是很清楚。我希望能够在不编写 bash 脚本的情况下做这样的事情:
locate foo | sed s/bar/baz/ | [other-processing] | [insert-magic-here] cowsay
关键是我试图避免编写脚本,这样我就可以将它添加到我的管道链中而无需考虑它。
【问题讨论】:
标签: bash