gpt4 book ai didi

linux - 绕过 bash 中的退出代码

转载 作者:IT王子 更新时间:2023-10-29 00:52:50 27 4
gpt4 key购买 nike

所以我有一个小脚本,应该通过 SSH 连接到不同服务器上的 1000 个左右的帐户,如下所示。

for account in $(cat $SSH_LIST)
do echo -e "\n$account\n"
SERVER=$(echo $account | cut -d',' -f1 | awk '{print tolower($0)}') ; USER=$(echo $account | cut -d',' -f2) ; PASS=$(echo $account | cut -d',' -f3)
sshpass -p $PASS ssh -o StrictHostKeyChecking=no $USER@$SERVER "ls passwd.cdb && exit"

问题是,当 ssh 遇到权限被拒绝时,脚本就会退出。可以理解的是,SSH Permission Denied 就像一个退出代码并退出脚本。我需要它来简单地记录被拒绝的权限并继续 SSH'ing 的快乐方式。

有什么建议吗?

最佳答案

通常情况下,bash 不会在出现第一个错误时退出,除非 set -e 在您的脚本中设置得更高。尝试将它放在 for 循环之前。

set +e

附注您在循环结束时缺少 done 。我认为这只是一个剪切和粘贴错误。

关于linux - 绕过 bash 中的退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794879/

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