- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 bash 脚本:
#!/bin/bash
while :
do
nc -l -p 30003 | python3 script.py
done
我希望聆听始终有效。
nc localhost 30003 # 工作正常输入一些东西Ctrl+C
再试一次 nc localhost 30003
# 不工作
所以,在套接字第一次关闭后,它再也不会打开了..
我该如何解决?
谢谢。
最佳答案
问题是 nc -l -p 30003 在 python3 script.py 完成之前没有再次运行。 Ctrl+C nc localhost 30003 后没有监听nc 连接。如果将 python3 script.py 替换为 cat,nc 服务器将重新启动。因此,简单的解决方案是让 script.py 退出。
我假设您有一个要保存的状态。一种可能性是将状态(变量等)保存为 JSON 的文件。另一种方法是让 nc 将输出写入文件,然后从该文件中读取 script.py。
如果你有时间,并且想学习一些网络知识,我建议你看看 python socket API。您可以让 script.py 充当服务器并直接从连接端点读取数据,而不是通过 nc。
希望这对您有所帮助。
关于Linux.netcat + 庆典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41472244/
到底是做什么的| bash - 这段代码第一行末尾的 do in a Dockerfile? 为什么 - 在末尾? RUN curl --silent --location https://rpm.n
当我运行这个 bash 脚本时: if [ [$EUID -ne 0] ]; then echo "This script must be run as root" 1>&2 exit 1
我有一个 bash 脚本: #!/bin/bash while : do nc -l -p 30003 | python3 script.py done 我希望聆听始终
执行命令 echo 'a b' 'c' 输出 a b c 但是下面的 X="'a b' 'c'" echo $X; 会出局 'a b' 'c' 我正在寻找一种取消引用 $X 的方法,这样它将输出 "a
我确实尝试在网上找到答案,但不幸的是空手而归。结合其他关键字搜索“./”会带来很多结果,但没有任何帮助... 无论如何,您可能会说,我对 MacOs 还是比较陌生。我正在从 shell 运行 mong
我正在使用具有以下语法的 bash 脚本 $ declare -a THIS[*] 这在 zsh 中似乎是非法的(我收到“未找到匹配项:THIS[*]”错误)。谁能帮我把它翻译成 zsh? 此外 -
我正在尝试暂停或“休眠”OSX 中运行的 bash 脚本中的特定行。该脚本在登录前启动时运行。我没有看到预期的结果。换句话说,无论我在“ sleep ”之后指定什么时间,脚本仍然会立即移动,不会有任何
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
#!/bin/bash jobname="job_201312161447_0003" jobname_pre=${jobname:0:16} jobname_post=${jobname:17} 这
#!/bin/bash jobname="job_201312161447_0003" jobname_pre=${jobname:0:16} jobname_post=${jobname:17} 这
#!/bin/bash jobname="job_201312161447_0003" jobname_pre=${jobname:0:16} jobname_post=${jobname:17} 这
我想制作自己的程序,但我不知道如何...例如,我想制作一个典型的“Hello $user”程序。 所以.. ├── hi │ ├── hi.sh │ ├── hi_to.sh hi.sh #!
我正在学习 Linux 中的 bash 脚本,我想解决一个我认为很容易但我就是想不通的问题。 我想插入数字作为参数,例如: sh script.sh 5 如果我插入 5 (1+2+3+4+5)=15,
Run a recursive listing of all the files in /var/log and redirect standard output to a file called l
这不是一个真正的问题(虽然我在最后提出了一个问题),而是我想分享的一个问题的解决方案,以防它对其他人有帮助。 很长一段时间以来,我在打开新终端时收到 bash: [: too many argumen
我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序。文件名、文件路径和直接工作文件夹都包含空格。当我这样做时: #!/bin/sh cd `dirname $0` 我明白了 us
我正在关注 Discover Rust 的官方文档.我正在尝试将程序刷写到 STM32F3 中。 Flash chapter要求执行这个命令 -q target/thumbv7em-none-eab
如果我在 bash 脚本中使用 -e 选项并且代码失败 - 我可以捕获它: $ set -e; ( false; echo qwe; ) || echo qwe qwe 但是,当我尝试获取返回码时,我
我正在尝试从 64 位 Windows 上的 Cygwin 中编译一些 C 代码,并使用一些参数调用可执行文件。编译顺利进行(Makefile 在下面)。但是当我运行可执行文件时,出现错误 canno
我需要使用 ssh 在网络托管服务器(操作系统:Cent OS 6.4,perl v5.10.1)上安装几个 perl 模块。 在服务器上: cpan -i Template::Toolkit 报错:
我是一名优秀的程序员,十分优秀!