2
我 noticed that 与Perl的print
,您可以打印从字符串或从STDIN
。我有一个简单的函数,可以从一个字符串功能读取参数或stdin
warn()
{
awk '{printf "\033[36m%s\033[m\n", $0}' <<< $1
}
或STDIN
warn()
{
awk '{printf "\033[36m%s\033[m\n", $0}'
}
工作,但是我可以修改功能,使得它可以接受任何如Perl?
我发现我需要用'exec 3 <&0 [...] exec <&3'来包装这个文件。 –
你不应该需要这个,'(...)'在子shell中执行代码,以便重定向自动撤消。 – Barmar
如果整个函数运行在一个子shell中,可以删除大括号 - 'warn()(...)' - 参见[Grouping Commands](http://www.gnu.org/software/bash/manual) /bashref.html#Command-Grouping) –