ฉันต้องการที่จะวนรอบบนหน้าจอเทอร์มินัลของฉันที่พยายาม ssh เข้าไปในเซิร์ฟเวอร์ของฉันทุกวินาที ในขณะนี้ดูเหมือนว่านี้:
while true; do echo INTERNALIP && date >> $HOME/server.log &&\
ssh -Y -o ServerAliveInterval=5 -o ServerAliveCountMax=1 user@192.168.1.10;\
date;\
sleep 1; done
ฉันมี bash while
loop คล้ายกันสำหรับ sshing ในเครื่องเดียวกัน แต่ใช้ IP ภายนอกซึ่งเป็นวิธีที่ฉันเชื่อมต่อเมื่อฉันไม่ได้อยู่ในเครือข่ายสำนักงาน:
while true; do echo EXTERNALIP && date >> $HOME/server.log &&\
ssh -Y -o ServerAliveInterval=5 -o ServerAliveCountMax=1 user@NN.NNN.NN.NNN;\
date;\
sleep 1; done
สิ่งที่ฉันต้องการจะทำคือการรวมทั้งสองอย่างนี้เข้าด้วยกันเป็นสายการบินเดียวที่ (1) พยายามเชื่อมต่อผ่าน INTERNALIP ก่อนและหากล้มเหลวให้ลองเชื่อมต่อผ่าน EXTERNALIP ฉันไม่คุ้นเคยกับเงื่อนไขในการทุบตีดังนั้นฉันไม่แน่ใจว่าจะทำอย่างไร
ความคิดใด ๆ
find: unknown predicate '-x'