Linux 当没有管道键时,如何从命令grep输出

Linux 当没有管道键时,如何从命令grep输出,linux,bash,grep,Linux,Bash,Grep,我试图通过一个没有管道符号(|)的控制台从Linux box中查找防火墙的状态。如何在不经过输出行的情况下进行grep呢 这就是我所尝试的: grep firewall < ${systemctl > outfile-firewall} grep firewall < "$(systemctl > outfile-firewall)" grep防火墙outfile防火墙} grep防火墙outfile防火墙)” 第一行命令与第二行命令有何不同?我认为实际上可以使用带花

我试图通过一个没有管道符号(
|
)的控制台从Linux box中查找防火墙的状态。如何在不经过输出行的情况下进行grep呢

这就是我所尝试的:

grep firewall < ${systemctl > outfile-firewall}
grep firewall < "$(systemctl > outfile-firewall)"
grep防火墙<${systemctl>outfile防火墙}
grep防火墙<“$(systemctl>outfile防火墙)”
第一行命令与第二行命令有何不同?我认为实际上可以使用带花括号的file命令作为bash脚本运行命令

grep firewall < $(systemctl)
grep firewall < "$(systemctl)"
grep防火墙<$(systemctl)
grep防火墙<“$(systemctl)”

关于的命令的所有输出要么给出“不明确的重定向”,要么给出“没有这样的文件或目录”。我知道我做错了什么,但它应该是一个很好的替代方案,以通过管道放大输出

如果系统中缺少管道符号,可以将输出放入临时文件,然后从那里grep它

systemctl > ctl-output-file

grep firewall ctl-output-file > required-output-file

希望有帮助。祝你有愉快的一天

您可以尝试bash进程替换:

$ grep firewall <(systemctl)
  ufw.service                            loaded active exited    Uncomplicated firewall

$grep防火墙您有什么控制台?你为什么没有管道符号?谢谢@KamilCuk。它的vmware web控制台,只有美式键盘样式和符号。我可以使用的另一个远程控制台需要安装,我不想这样做。谢谢@Zlemini。我在意外标记附近遇到“bash语法错误”(“”“我正在使用centos 8,顺便说一句。谢谢@Zlemini,它起作用了。我在重定向符号“谢谢@Tanvir”之间留了空格。这就是我最后要做的,但我不想每次需要grep命令输出时都创建文件。我更喜欢控制台输出命令选项”例如,grep firewall<$(systemctl)”,但centos 8不喜欢它。我只尝试了带有outfile选项的一行命令,看看我做错了什么。