函数读取参数或stdin

时间:2013-06-03 22:45:48

标签: bash function awk stdin

noticed that 使用Perl的print,您可以从字符串或STDIN打印。我有一个简单的函数,可以使用字符串

warn ()
{
  awk '{printf "\033[36m%s\033[m\n", $0}' <<< $1
}

或来自STDIN

warn ()
{
  awk '{printf "\033[36m%s\033[m\n", $0}'
}

但是我可以修改这个功能,使它可以像Perl一样接受吗?

1 个答案:

答案 0 :(得分:2)

warn () {
  ( if [ $# -gt 0 ]
    then exec <<< $1
    fi
    awk '{printf "\033[36m%s\033[m\n", $0}'
  )
}

exec命令允许您执行持续执行以下命令的重定向。