linux – 绕过bash中的退出代码
发布时间:2020-12-13 23:54:32 所属栏目:Linux 来源:网络整理
导读:所以我有一个小脚本应该通过不同的服务器SSH到1000个左右的帐户,如下所示. for account in $(cat $SSH_LIST) do echo -e "n$accountn" SERVER=$(echo $account | cut -d',' -f1 | awk '{print tolower($0)}') ; USER=$(echo $account | cut -d',' -f2) ; P
所以我有一个小脚本应该通过不同的服务器SSH到1000个左右的帐户,如下所示.
for account in $(cat $SSH_LIST) do echo -e "n$accountn" 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 附:你在循环结束时错过了一个完成.我认为这只是一个剪切和粘贴错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 查看linux是几位操作系统
- linux – 如何在bacula bconsole中列出所有最近的预定作业
- linux – 在RHEL上更改用户默认登录shell?
- linux – 如何在/ proc / cpuinfo中报告CPU处理速度?
- linux – free显示使用的内存比顶级进程总数多
- linux – 什么比这更快?通过nfs-mount或通过scp复制?
- linux – 是否有一个链接器标志强制它在启动时加载所有共享
- linux – Benchmark模拟“逼真”的桌面/服务器工作负载
- 没有标记 – 向初学者教授Linux的技巧?
- Linux:阻止一个文件中的字符串匹配(“tail grep with bloc