bash - 停止循环内的命令但继续循环 2024-6-1 • bash 我正在运行这样的循环: for ip in 10.0.0.1 10.0.0.2 10.0.0.3; do traceroute $ip; done 我希望能够在当前跟踪路由变得无聊时(在达到最大 30 跳之前)终止当前跟踪路由,然后转到下一个跟踪路由。但是当我按Ctrl+时c,它会终止整个for循环。 我想我需要的是一种结束 current 的方法traceroute,或者发送循环 a continue。 这个问题和这个正在做类似的事情,但情况更复杂。仅从提示符运行内容时是否有合理的方法来执行此操作? 答案1 使用陷阱: trap "echo ctr+c pressed" INT TERM;for ip in 10.0.0.1 10.0.0.2 10.0.0.3; do traceroute $ip; done 相关内容 向 sudo env 添加 DIR?env 有 XDG_RUNTIME_DIR,但 sudo env 没有 为什么ssh需要密码? 读取/操作第 n 次重复的列数据 Ubuntu 18.04 中真实图标下的未知图标 为基于 Azure 的云应用程序配置自动更新证书 如何无头安装 Ubuntu 10.10 Server Windows 8 中的天气应用程序从哪里获取背景? TLS1.1 和 1.2 支持的密码套件 如何使用 bash 将子进程传递给命令 VMWare Player for Linux 中的本地标准磁盘空间不足