将标准输出连字符转换为单个命令

将标准输出连字符转换为单个命令

我正在使用输出 xml 的脚本,并且使用 xmllint 来格式化输出。 Xmllint 需要一个源参数,因此我使用连字符将标准输出通过管道传输给它:

$> script.php source.txt | xmllint --format - > nice_output.xml

由于我经常运行这些脚本,我想将这xmllint --format -部分变成一个可以通过管道输入的命令,但我什至不知道如何开始。我想这样做:

$> script.php source.txt | nicexml > nice_output.xml

nicexml我的自定义命令/别名在哪里。我该怎么做呢?

答案1

别名版本

alias nicexml="xmllint --format -"

bash函数

function nicexml() { xmllint --format "${@:--}"; }
  • 默认输入是标准输入
  • 还允许替代输入源和选项。

答案2

您可以定义一个 shell 变量nicexml="xmllint --format -" ,然后将其用作$nicexml.

相关内容