如何解决我需要解决我的 xonsh Shell 管道问题
Xonsh shell 管道问题
从 1-2 个月前开始,我遇到了 Xonsh 的这个奇怪的可能与管道相关的问题。不知何故,当它打开其他 shell、脚本和东西时,它搞砸了管道套接字。这导致无法向更多、更少等程序发送任何输入。通过 Bash:s 读取命令和东西的基本终端输入可以工作,但没有管道。
我不完全确定如何用语言更清楚地说明问题,这就是为什么我认为我会提供一些我创建的日志历史记录。我比较了通过三种不同的路径运行相同的简单脚本:
1:我常用的 Arch Linux Xonsh 环境(脚本中的管道失败)。 2:在上述环境中重击(同样的事情在那里工作) 3:我的一个运行 Xonsh 的 Debian 服务器(也可以运行)
我还注意到,在有问题的环境中,结尾的 less 在它应该接收输出的程序之前打开。无论如何,这里是日志,可以这么说 - 文件处理从开始 1 行脚本管道 jq 输出到less:
My "go-to" Arch Linux Xonsh environment: (running prompt_toolkit3)
1_shell/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.35 0 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 1 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 2 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 255 -> /dev/pts/36
1_one-liner/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.35 0 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 1 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 2 -> /dev/pts/36
lr-x------ 1 daniel daniel 64 1 jul 17.35 255 -> (( 1-line Bash script ))
1_jq/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.35 0 -> /dev/pts/36
l-wx------ 1 daniel daniel 64 1 jul 17.35 1 -> 'pipe:[569259498]'
lrwx------ 1 daniel daniel 64 1 jul 17.35 2 -> /dev/pts/36
lr-x------ 1 daniel daniel 64 1 jul 17.35 3 -> (( JSON file ))
1_less/fd/:
lr-x------ 1 daniel daniel 64 1 jul 17.35 0 -> 'pipe:[569259498]'
lrwx------ 1 daniel daniel 64 1 jul 17.35 1 -> /dev/pts/36
lrwx------ 1 daniel daniel 64 1 jul 17.35 2 -> /dev/pts/36
lr-x------ 1 daniel daniel 64 1 jul 17.35 3 -> /dev/pts/36
Arch Linux Bash environment: (the shell I've left behind for Xonsh)
2_shell/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.36 0 -> /dev/pts/76
lrwx------ 1 daniel daniel 64 1 jul 17.36 1 -> /dev/pts/76
lrwx------ 1 daniel daniel 64 1 jul 17.36 2 -> /dev/pts/76
lrwx------ 1 daniel daniel 64 1 jul 17.36 3 -> /dev/ptmx
lrwx------ 1 daniel daniel 64 1 jul 17.36 4 -> 'anon_inode:[eventpoll]'
lrwx------ 1 daniel daniel 64 1 jul 17.36 5 -> 'socket:[569061930]'
lrwx------ 1 daniel daniel 64 1 jul 17.36 6 -> 'socket:[569061931]'
lrwx------ 1 daniel daniel 64 1 jul 17.36 7 -> /dev/pts/117
lrwx------ 1 daniel daniel 64 1 jul 17.36 8 -> /dev/ptmx
lrwx------ 1 daniel daniel 64 1 jul 17.36 9 -> /dev/pts/121
2_one-liner/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.36 0 -> /dev/pts/76
lrwx------ 1 daniel daniel 64 1 jul 17.36 1 -> /dev/pts/117
lrwx------ 1 daniel daniel 64 1 jul 17.36 2 -> /dev/pts/121
lr-x------ 1 daniel daniel 64 1 jul 17.36 255 -> (( 1-line Bash script ))
2_jq/fd/:
lrwx------ 1 daniel daniel 64 1 jul 17.36 0 -> /dev/pts/76
l-wx------ 1 daniel daniel 64 1 jul 17.36 1 -> 'pipe:[569274279]'
lrwx------ 1 daniel daniel 64 1 jul 17.36 2 -> /dev/pts/121
lr-x------ 1 daniel daniel 64 1 jul 17.36 3 -> (( JSON file ))
2_less/fd/:
lr-x------ 1 daniel daniel 64 1 jul 17.36 0 -> 'pipe:[569274279]'
lrwx------ 1 daniel daniel 64 1 jul 17.36 1 -> /dev/pts/117
lrwx------ 1 daniel daniel 64 1 jul 17.36 2 -> /dev/pts/121
lr-x------ 1 daniel daniel 64 1 jul 17.36 3 -> /dev/pts/121
Debian Xonsh environment: (running prompt_toolkit2)
xonsh:
lrwx------ 1 daniel daniel 64 1 jul 17.47 0 -> /dev/pts/17
lrwx------ 1 daniel daniel 64 1 jul 17.47 1 -> /dev/pts/17
lrwx------ 1 daniel daniel 64 1 jul 17.47 2 -> /dev/pts/17
lrwx------ 1 daniel daniel 64 1 jul 17.47 3 -> 'anon_inode:[eventpoll]'
lrwx------ 1 daniel daniel 64 1 jul 17.47 4 -> 'socket:[1604535]'
lrwx------ 1 daniel daniel 64 1 jul 17.47 5 -> 'socket:[1604536]'
lrwx------ 1 daniel daniel 64 1 jul 17.47 6 -> /dev/ptmx
lrwx------ 1 daniel daniel 64 1 jul 17.47 7 -> /dev/pts/42
lrwx------ 1 daniel daniel 64 1 jul 17.47 8 -> /dev/ptmx
lrwx------ 1 daniel daniel 64 1 jul 17.47 9 -> /dev/pts/43
bash:
lrwx------ 1 daniel daniel 64 1 jul 17.52 0 -> /dev/pts/17
lrwx------ 1 daniel daniel 64 1 jul 17.52 1 -> /dev/pts/42
lrwx------ 1 daniel daniel 64 1 jul 17.52 2 -> /dev/pts/43
lr-x------ 1 daniel daniel 64 1 jul 17.52 255 -> (( 1-line Bash script ))
jq:
lrwx------ 1 daniel daniel 64 1 jul 17.53 0 -> /dev/pts/17
l-wx------ 1 daniel daniel 64 1 jul 17.53 1 -> 'pipe:[110134119]'
lrwx------ 1 daniel daniel 64 1 jul 17.53 2 -> /dev/pts/43
lr-x------ 1 daniel daniel 64 1 jul 17.53 3 -> (( JSON FILE ))
less:
lr-x------ 1 daniel daniel 64 1 jul 17.56 0 -> 'pipe:[110134119]'
lrwx------ 1 daniel daniel 64 1 jul 17.56 1 -> /dev/pts/42
lrwx------ 1 daniel daniel 64 1 jul 17.56 2 -> /dev/pts/43
lr-x------ 1 daniel daniel 64 1 jul 17.56 3 -> /dev/tty
如果有任何帮助,我将不胜感激。这是目前严重的不便。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。