腳本Key
① 按鍵精靈腳本2個鍵有不同時間間隔無限循環怎麼設置
新建腳本,復制以下代碼,保存退出
DimenvKey1,Key3,De1,De2
Key1=0'第一組按鍵的按鍵碼
De1=0'第一組按鍵的間隔時間
Key2=0'第二組按鍵的按鍵碼
De2=0'第二組按鍵的間隔時間
BeginThreadKD1
BeginThreadKD2
SubKD1
Do
KeyPressKey1
DelayDe1
Loop
EndSub
SubKD2
Do
KeyPressKey2
DelayDe2
loop
EndSub
② 在腳本中使用ssh時的幾個注意事項
1. 超時設置
-o ConnectTimeout=3
2. 重定項標准輸入到/dev/null
-n
當使用這樣的形式時 (使用 key 認證):
while read line ; do ip=$(awk '{print $1}' < << $line ) ssh -n -o ConnectTimeout=3 $i uptime done < file
假如此時不使用 -n ,則只有第一行會被處理。
3. 批處理模式,在腳本中使用再合適不過(使用 key 認證)
-o BatchMode=yes
當 key 認證不成功時,有可能會彈出「密碼認識」,從而影響腳本運行下去,此時可以打開 BatchMode模式。
4. 遇到未知主機:
-o StrictHostKeyChecking=no
當遇到未知的主機公鑰時,自動接受key。
5. 糟遇遠程主機連接後無響應:
當設置了 BatchMode 時 ServerAliveInterval 默認被設置成 300 秒(服務端無數據傳回的持續時間)。
ServerAliveCountMax相當於是重試的次數,比如下面的例子,15秒 x 3 = 45 秒,即當 45 秒後,真正超時斷開。
TCPKeepAlive打開時,便於發現網路的斷開。當網路故障(比如路由器壞掉)或者遠端開機、死機時,連接會主動斷開,否則的話,將會等待相當一段時間後才會斷開。
-o ServerAliveInterval=15
-o ServerAliveCountMax=3
-o TCPKeepAlive=yes
需要注意的是,這里的超時、無響應,僅是 ssh或者sshd無影響,假如是在遠程上執行程序,程序無響應,則不能處理此時的超時,解決方法見《在Shell中實現非同步》。