gpt4 book ai didi

linux - 无法使用 stdout exec 结束 Bash 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:33 24 4
gpt4 key购买 nike

我不知道为什么我的问题在发表评论后没有得到跟进。但是我已经尝试使用

exec 3>&- 退出 cat <&3 仍然没有

我也试过 cat <&3 3>&- 还是不行

exec 3<>/dev/tcp/$1/37491

echo -ne 060e2b3400$hexdec$cmdhex | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie' >&3

cat <&3
exec 3>&-

套接字保持打开状态。

最佳答案

cat 之后添加的任何内容都不会起作用,因为 cat 正在阻塞,等待通过套接字的更多输入。如果您可以安排从另一个进程关闭套接字,cat 将退出。

类似以下的方法可能有效:

exec 3<>/dev/tcp/$1/37491

echo -ne 060e2b3400$hexdec$cmdhex | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie' >&3

( cat <&3; echo "Socket was closed" ) &
sleep 10
exec 3>&-

cat 将在子 shell 的后台运行,阻塞直到套接字关闭。休眠 10 秒后,您的脚本将关闭套接字,您应该会看到输出“套接字已关闭”。

关于linux - 无法使用 stdout exec 结束 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667521/

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