嗨,我有几百个主机的列表.我想在循环中使用ssh运行一个命令,如果我的ssh键设置正确,那么我执行一个命令,如果我遇到密码的挑战我想跳到下一个主机
所以我要说我有hosta和hostb以及hostc.我可以为hosta和hostc做一个ssh,但是hostb正在挑战我的密码.有没有办法检查主机是否会挑战我的密码?所以我的逻辑是
if I get challenge from $host; then
skip host
else
ssh $host 'command'
fi
Run Code Online (Sandbox Code Playgroud)
我希望这是有道理的.提前感谢你
嗨,什么是检查SSH是否因任何原因失败的最佳方法?我可以使用IF语句(如果它失败的话做什么),我在一个循环中使用ssh命令和传递我的主机名形成一个平面文件.
所以我做了类似的事情:
for i in `cat /tmp/hosts` ; do ssh $i 'hostname;sudo ethtool eth1'; done
Run Code Online (Sandbox Code Playgroud)
我得到这个错误或我无法连接
ssh: host1 Temporary failure in name resolution
Run Code Online (Sandbox Code Playgroud)
我想跳过无法连接的主机是SSH失败.做这个的最好方式是什么?是否存在运行时错误,我可以陷阱绕过无论出于何种原因我无法进入的主机,也许ssh是不允许的,或者我没有正确的密码?
提前谢谢你干杯
当我运行此命令时,它还会在grep成功时打印文件中的实际$项.我不想打印内容/ $ item.我只想表现出我的回声?
有人可以帮忙吗
if grep $item filename; then
echo it exist
else
echo does not exist
fi
Run Code Online (Sandbox Code Playgroud)
谢谢
我想在文件中搜索数字64后添加一个新行.我喜欢使用awk或sed来做这件事.
64 bytes from 170.198.42.128: icmp_seq=1 ttl=60 time=83.4 ms 64 bytes from
170.198.42.128: icmp_seq=2 ttl=60 time=76.6 ms 64 bytes from 170.198.42.128: icmp_seq=3
ttl=60 time=70.8 ms 64 bytes from 170.198.42.128: icmp_seq=4 ttl=60 time=76.6 ms ---
170.198.42.128 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time
3000ms rtt min/avg/max/mdev = 70.861/76.924/83.493/4.473 ms
Run Code Online (Sandbox Code Playgroud)
我用这个命令
cat file | sed 's/64/\n/g'
Run Code Online (Sandbox Code Playgroud)
但这取代了数字64.我只想打破模式并正确显示以64开头的ping命令模式
我尝试使用追加和插入模式..但没有正确使用它们
需要帮忙
我有两个输出文件:
FILE-A:
TOM
JACK
AILEY
BORG
ROSE
ELI
Run Code Online (Sandbox Code Playgroud)
文件-B 内容:
TOM
ELI
Run Code Online (Sandbox Code Playgroud)
我想从File-A中删除FILE-B中列出的任何内容.
FILE-C(结果文件):
JACK
AILEY
BORG
ROSE
Run Code Online (Sandbox Code Playgroud)
我想我需要一份while r for i
声明.有人可以帮我弄这个吗?我需要cat
阅读FILE-A并且对于FILE-B中的每一行我需要从FILE-A中删除它.
我应该使用什么命令?
此功能无效.我似乎使用了太多的操作.它可以工作到第二个II或操作,然后它停止在第三个和第四个工作.所以我注释掉的那条线不起作用,但另一条线正在工作
不确定我做错了什么?我不想使用案例陈述; 也许有更好的方法来做到这一点?我只需要调用此函数并确保用户输入正确.它不应该是空白的,它应该是其他三个条目中的任何一个
get_selection ()
{
count1=1
while [ $count1 = 1 ];
do
echo "enter user or service or item user|service|item :"
read entry
echo entry is $entry
# if [ -z "$entry" ] || [ $entry != "user" ] || [ $entry != "service" ] || [ $entry!= "item" ]; then
if [ -z "$entry" ] || [ $entry != "user" ] || [ $entry != "service" ]; then
echo "blank or incorrrect entry"
else
echo "entry is …
Run Code Online (Sandbox Code Playgroud)