小编the*_*lat的帖子

检查是SSH提示输入密码

嗨,我有几百个主机的列表.我想在循环中使用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)

我希望这是有道理的.提前感谢你

passwords ssh bash

7
推荐指数
1
解决办法
3531
查看次数

检查脚本中的SSH故障

嗨,什么是检查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是不允许的,或者我没有正确的密码?

提前谢谢你干杯

ssh bash loops runtime-error

5
推荐指数
2
解决办法
1万
查看次数

如何抑制grep的输出

当我运行此命令时,它还会在grep成功时打印文件中的实际$项.我不想打印内容/ $ item.我只想表现出我的回声?
有人可以帮忙吗

if grep $item filename; then
   echo it exist
else
    echo does not exist
fi
Run Code Online (Sandbox Code Playgroud)

谢谢

bash grep echo

4
推荐指数
1
解决办法
3721
查看次数

找到匹配后添加新行

我想在文件中搜索数字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命令模式

我尝试使用追加和插入模式..但没有正确使用它们

需要帮忙

bash awk sed

3
推荐指数
2
解决办法
1万
查看次数

使用awk sed命令和while循环从第二个文件中删除条目

我有两个输出文件:

  1. FILE-A包含70,000多个唯一条目.
  2. FILE-B包含我需要从FILE-B中删除的唯一列表.

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中删除它.

我应该使用什么命令?

linux bash awk sed while-loop

3
推荐指数
1
解决办法
624
查看次数

如果声明操作不起作用?

此功能无效.我似乎使用了太多的操作.它可以工作到第二个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)

linux bash if-statement

1
推荐指数
1
解决办法
84
查看次数

标签 统计

bash ×6

awk ×2

linux ×2

sed ×2

ssh ×2

echo ×1

grep ×1

if-statement ×1

loops ×1

passwords ×1

runtime-error ×1

while-loop ×1