有没有一种惯用的方法可以在 bash 中模拟 Perl 的菱形运算符?与钻石算子,
script.sh | ...
读取标准输入的输入和
script.sh file1 file2 | ...
读取 file1 和 file2 的输入。
另一个限制是我想将 script.sh 中的标准输入用于我自己脚本的输入之外的其他内容。下面的代码对上面的 file1 file2 ... case 执行了我想要的操作,但不适用于 stdin 上提供的数据。
command - $@ <<EOF
some_code_for_first_argument_of_command_here
EOF
我更喜欢 Bash 解决方案,但任何 Unix shell 都可以。
编辑:为澄清起见,这里是 script.sh 的内容:
#!/bin/bash
command - $@ <<EOF
some_code_for_first_argument_of_command_here
EOF
我希望它以菱形运算符在 Perl 中的工作方式工作,但它现在只处理文件名作为参数。
编辑2:我不能做任何事情
cat XXX | command
因为命令的标准输入不是用户的数据。命令的标准输入是我在 here-doc 中的数据。我希望用户数据进入我的脚本的标准输入,但它不能是我脚本中命令调用的标准输入。