出於網絡安全性的考慮,公司內部服務器訪問,使用的是kerbrose+堡壘機。平常訪問線上的服務器大體的步驟,先登陸kerbrose獲取票據,再登陸堡壘機,再選擇要登陸的服務器完成最終登陸。長此以往,使用mac+iterm每次都要重複上述步驟,對工做效率有很大的影響。考慮自動化的方案,在不能經過運維渠道開啓綠色通道的狀況下,咱們只能自給自足了。
程序員
利用applescript寫一個腳本mac腳本,完成咱們的目的。AppleScript是Mac OS X內置的一種功能強大的腳本語言,使用 AppleScript 的目的是把一些重複繁瑣而且耗費時間的任務自動化。初次接觸,讓我想起了windows下的vbscript腳本,簡單高效。雖然喪失了跨平臺性,可是在本身專屬的平臺上代碼效率能夠達到極致。
shell
因爲我使用的shell終端是iterm,粘一下自動操做iterm完成登陸的自動化操做。編程
簡單介紹一下腳本前兩行設置變量,set 變量 to 變量值。tell呼氣mac的application,這裏選擇的是"iterm",其餘應用同理,好比"Finder"。開啓一個新的會話,在iterm中建立一個新的session,而後按照一下步驟模擬操做。簡單吧~
windows
AppleScript 這種腳本語言自己儘量使用平實的英語做爲語法來讓代碼特別容易理解和閱讀。AppleScript 的大多數命令會位於 Tell 命令塊內,它叫 「Tell 命令塊」 是因爲你在「告訴」應用程序你 想它作些什麼。你必需要 以 「end tell」 命令來結束這個 Tell 命令塊。
安全
machine_ip 我選擇外部傳入具體登陸的服務器地址,這樣能夠參數配置須要登陸的服務器,applescript外部接收參數,使用的是on run的handler的函數。
至此完成了腳本核心內容,applescript腳本的執行是經過osascript命令進行,爲了方便使用能夠通alias別名的方式簡化操做。bash
AppleScript 的一個優勢是你沒必要是一個天才程序員才能使用它,事實上你甚至不須要太多有任何編程的經驗,感興趣了?那就嘗試一下吧~
服務器