-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathiTermQuickMultipleSSH.applescript
More file actions
62 lines (50 loc) · 1.6 KB
/
iTermQuickMultipleSSH.applescript
File metadata and controls
62 lines (50 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
## CONFIGURATIONS ##
# operationMode 0 reads the servers hostnames from a local file (default)
# operationMode 1 reads the servers hostnames from a local variable (not implement yet!)
set operationMode to 0
# local file with one server hostname per line for operationMode = 0
set localFileName to "servers.txt"
# list of server hostnames for operationMode = 1 (not in use right now)
set hostNames to {"serverhostname.com", "anotheserver.net", "mycoolserver.org"}
################
set completeFilePath to getCurrentDir() of me & localFileName
set serversList to readFileContents(completeFilePath) of me
tell application "iTerm"
activate
set myterm to (make new terminal)
tell myterm
set number of columns to 100
set number of rows to 100
set currentCount to 0
repeat with i in serversList
# the next commented line shows a dialog box!
#display dialog i
set mysession to (launch session "default")
tell mysession
set name to "ssh on " & i
set currentCount to currentCount + 1
write text "ssh root@" & i
end tell
end repeat
end tell
end tell
(*
reads the contents of a file
and returns a list containing
one element for each line
on the original file
*)
on readFileContents(filePath)
set fileContent to (do shell script "cat '" & filePath & "'")
set listVariable to every paragraph of fileContent
return listVariable
end readFileContents
(*
returns the POSIX path of
the current script path
*)
on getCurrentDir()
tell application "Finder" to get folder of (path to me) as Unicode text
set workingDir to POSIX path of result
return workingDir
end getCurrentDir