这能达到什么目的?

这能达到什么目的?

这有什么意义:

abort() {
  { if [ "$#" -eq 0 ]; then cat -
    else echo "rbenv: $*"
    fi
  } >&2
  exit 1
}

来源

答案1

如果向函数 ( ) 提供的参数为零"$#" -eq 0,则改为从前面的管道 ( cat -) 读取,并将此块的任何输出重定向到 srderr ( >&2)。

这使他们能够进行类似abort "shell integration not enabled...

  { rbenv---version
    rbenv-help
  } | abort

如果这样做时遇到任何错误(例如管道没有提供输出并且没有参数),这些错误也会向用户显示。

相关内容