Bash TCPソケットを使用してファイルを読み込もうとしています。
だから私はホストコンピュータにいます。
nc -l 8888 < /etc/passwd
他のコンピュータでは
echo </dev/tcp/127.0.0.1/8888
しかし、期待どおりにファイルを読み取ることができず、空白行が表示されます。
動作することはわかりますが、cat < /dev/tcp/xxx/xxxx
外部バイナリなしで行うことはできますか?
編集する
$()
だから構文を試してみました。
# echo $(</dev/tcp/127.0.0.1/8888) > file
bash: /dev/tcp/127.0.0.1/8888: No such file or directory
答え1
while
ループを使用できます。
while IFS= read -r line; do
printf '%s\n' "$line"
done < /dev/tcp/localhost/8888