我有一个关于 find 命令的问题:
我在脚本中使用这一行来运行大约 300 个服务器并检查文件是否存在,如果文件存在则返回 0,如果文件不存在则返回 1。
$(timeout 4s ssh -n $user@$servername "find / -name file.jar 2>/dev/null | egrep '.*'")
其中 $user 是 ssh 用户,$servername 是我想要 ssh 到的服务器的服务器名称,file.jar 是我正在查找的文件。我不想要该文件。如果找到的话我只想返回 0。该命令适用于此。
该命令在大多数服务器上都可以完美运行,但对于其他服务器则失败并显示以下输出:
Killed by signal 15.
有没有办法改变命令以停止在某些服务器上抛出 SIGTERM,或者我是否需要一个全新的命令?
答案1
某些服务器的超时时间不够长,因此是 ssh 命令发送信号 15。问题已解决,脚本可以运行。感谢@Philip Couling