然後再寫乙個通用的可以批量遠端執行命令的expect指令碼:
[root@localhost ~]# vim cmd.expect#!/usr/bin/expect
set user [lindex $argv 0] # 系統使用者
set host [lindex $argv 1] # 伺服器位址
set passwd [lindex $argv 2] # 密碼
set cm [lindex $argv 3] # 需要執行的命令
spawn ssh $user@$host
set timeout -1#沒有timeout ; set timeout xx -- 設定具體的timeout時間(秒) 防止命令宕機
expect
"password:"
}expect "]#"
send "$cm\r"
expect "]#"
send "exit\r"
interact
[root@localhost ~]# chmod a+x cmd.expect[root@localhost ~]# vim cmd.sh # 呼叫指令碼
#!/bin/bash
user=$2 ## 引數2是使用者名稱
password=$3 ## 引數3是密碼
cm=$4 ## 引數4需要執行的命令
for ip in `cat $1` ## 引數1是儲存ip列表的檔案路徑
do./cmd.expect "$user" "$ip" "$password" "$cm"
done
# 使用這個指令碼批量安裝一些基礎通用的工具[root@localhost ~]#sh ./cmd.sh"/root/ipall.txt""root""lri35krjf;ba""yum -y install expect vim-enhanced epel-release libmcrypt-devel libmcrypt"
Linux RH254 指令碼作業
編寫 script.sh 1.script.sh mnt userfile mnt passfile 2.當要建立的使用者已經存在,不做任何操作 3.當指令碼後所指定檔案個數少於2個 please give me userfile or passfile 4.當所給檔案的行數不一致 userfile...
11 2 3 指令碼除錯
11.2.2 css除錯 11.2.3 指令碼除錯 firebug的指令碼除錯功能相當強大。將選項卡換到 指令碼 如圖11.20所示,在firebug視窗頂部與css面板一樣,有乙個檔案列表按鈕。在右邊有4個按鈕和乙個搜尋框。這裡4個按鈕的作用與delphi等ide工具的除錯按鈕一樣,當指令碼在斷點...
linux shell 程式設計 10 指令碼中呼叫指令碼
在shell指令碼中呼叫另乙個指令碼的三種不同方法 fork,exec,source 1 fork 呼叫指令碼 fork directory script.sh fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個su...