gpt4 book ai didi

shell - 来自子shell输出的 fish shell 输入重定向

转载 作者:行者123 更新时间:2023-12-04 23:17:07 24 4
gpt4 key购买 nike

当我想在本地运行 Wireshark 以显示在另一台机器上运行的数据包捕获时,这适用于 bash,使用来自子 shell 输出的输入重定向:
wireshark -k -i <(ssh user@machine "sudo dumpcap -P -w - -f '<filter>' -i eth0")
据我所知,fish shell 上类似行为的语法是相同的,但是当我在 fish 上运行该命令时,我在终端上获得了 Wireshark 输出,但看不到 Wireshark 窗口。

有什么我想念的吗?

最佳答案

您在 bash 中使用的是 process substitution (<() 语法)。这是一个 bash 特定 语法(尽管 zsh 采用了相同的语法以及它自己的 =() )。

fish does have process substitution在不同的语法下( (process | psub) )。例如:

wireshark -k -i (ssh user@machine "sudo dumpcap -P -w - -f '<filter>' -i eth0" | psub)
bash        | equivalent in fish
----------- | ------------------
cat <(ls) | cat (ls|psub)
ls > >(cat) | N/A (need to find a way to use a pipe, e.g. ls|cat)

关于shell - 来自子shell输出的 fish shell 输入重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37753228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com