![将标准输出连字符转换为单个命令](https://linux22.com/image/29850/%E5%B0%86%E6%A0%87%E5%87%86%E8%BE%93%E5%87%BA%E8%BF%9E%E5%AD%97%E7%AC%A6%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%8D%95%E4%B8%AA%E5%91%BD%E4%BB%A4.png)
我正在使用输出 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
.