i2cssh 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +13 -3
- data/VERSION +1 -1
- data/bin/i2cssh +12 -10
- data/i2cssh.gemspec +1 -1
- data/lib/i2cssh.rb +1 -1
- metadata +3 -3
data/README.markdown
CHANGED
@@ -9,7 +9,7 @@ to all sessions.
|
|
9
9
|
$ gem install i2cssh
|
10
10
|
|
11
11
|
## Usage
|
12
|
-
Usage: i2cssh [options]
|
12
|
+
Usage: i2cssh [options] [username@host [username@host]]
|
13
13
|
-A, --forward-agent Enable SSH agent forwarding
|
14
14
|
-l, --login LOGIN SSH login name
|
15
15
|
-F, --fullscreen Make the window fullscreen
|
@@ -23,7 +23,18 @@ to all sessions.
|
|
23
23
|
-c, --cluster CLUSTERNAME Name of the cluster specified in ~/.i2csshrc
|
24
24
|
-m, --machines a,b,c Comma-separated list of hosts
|
25
25
|
|
26
|
-
For -c and -m options, the format username@cluster or username@host.
|
26
|
+
For -c and -m options, the format username@cluster or username@host can be used.
|
27
|
+
|
28
|
+
The following commands are exactly the same, however, they might serve different purposes:
|
29
|
+
|
30
|
+
$ i2cssh -m user1@host1,user2@host2
|
31
|
+
$ i2cssh user1@host1 user2@host2
|
32
|
+
|
33
|
+
Using the -l option will override all usernames:
|
34
|
+
|
35
|
+
$ i2css -l foo user1@host1 user2@host2
|
36
|
+
|
37
|
+
This will connect to both host1 and host2 as the user foo
|
27
38
|
|
28
39
|
## i2csshrc
|
29
40
|
|
@@ -52,7 +63,6 @@ Make sure the config file is valid YAML (e.g. use spaces instead of tabs)
|
|
52
63
|
## Known issues
|
53
64
|
|
54
65
|
- i2cssh uses rb-appscript and that only seems to work on ruby 1.8.7 and breaks on 1.9.x
|
55
|
-
- Only a single username can be used when using -m username@host.
|
56
66
|
|
57
67
|
## TODO
|
58
68
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.1
|
data/bin/i2cssh
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'i2cssh'
|
5
5
|
require 'yaml'
|
6
|
-
|
6
|
+
|
7
7
|
config_file = File.expand_path "~/.i2csshrc"
|
8
8
|
|
9
9
|
i2_options, ssh_options, servers, clusters, login_from_cli = {}, [], [], {}, false
|
@@ -28,7 +28,7 @@ if File.exists?(config_file)
|
|
28
28
|
end
|
29
29
|
|
30
30
|
optparse = OptionParser.new do |opts|
|
31
|
-
opts.banner = "Usage: #{File.basename(__FILE__)} [options]"
|
31
|
+
opts.banner = "Usage: #{File.basename(__FILE__)} [options] [username@host [username@host]]"
|
32
32
|
|
33
33
|
# Check if we have a cluster.
|
34
34
|
opts.on '-c', '--cluster CLUSTERNAME',
|
@@ -48,6 +48,10 @@ optparse = OptionParser.new do |opts|
|
|
48
48
|
i2_options[:login_override] = login_from_cli if login_from_cli
|
49
49
|
i2_options[:broadcast] = cluster["broadcast"] || i2_options[:broadcast]
|
50
50
|
|
51
|
+
if i2_options[:login_override] then
|
52
|
+
cluster_hosts = cluster_hosts.map{|h| "#{i2_options[:login_override]}@#{h}"}
|
53
|
+
end
|
54
|
+
|
51
55
|
servers += cluster_hosts
|
52
56
|
else
|
53
57
|
puts "ERROR: unknown cluster #{c}"
|
@@ -58,13 +62,7 @@ optparse = OptionParser.new do |opts|
|
|
58
62
|
|
59
63
|
opts.on '-m', '--machines a,b,c', Array,
|
60
64
|
'Comma-separated list of hosts' do |h|
|
61
|
-
|
62
|
-
if host =~ /(.+)@(.+)/ then
|
63
|
-
i2_options[:login_override] = $1
|
64
|
-
host = $2
|
65
|
-
end
|
66
|
-
servers << host
|
67
|
-
end
|
65
|
+
servers += h
|
68
66
|
end
|
69
67
|
|
70
68
|
# Hosts
|
@@ -126,8 +124,12 @@ optparse = OptionParser.new do |opts|
|
|
126
124
|
end
|
127
125
|
optparse.parse!
|
128
126
|
|
127
|
+
if ARGV.length > 0 then
|
128
|
+
servers = ARGV
|
129
|
+
end
|
130
|
+
|
129
131
|
if i2_options[:login_override] then
|
130
|
-
|
132
|
+
servers = servers.map{|h| "#{i2_options[:login_override]}@#{h.gsub(/.+@/,'')}"}
|
131
133
|
end
|
132
134
|
|
133
135
|
if servers.empty?
|
data/i2cssh.gemspec
CHANGED
data/lib/i2cssh.rb
CHANGED
@@ -81,7 +81,7 @@ class I2Cssh
|
|
81
81
|
else
|
82
82
|
|
83
83
|
@term.sessions[i].write :text => "unset HISTFILE && echo -e \"\\033]50;SetProfile=#{@profile}\\a\""
|
84
|
-
sleep 0.
|
84
|
+
sleep 0.3
|
85
85
|
@term.sessions[i].foreground_color.set "red"
|
86
86
|
@term.sessions[i].write :text => "stty -isig -icanon -echo && echo -e '#{"\n"*100}UNUSED' && cat > /dev/null"
|
87
87
|
end
|
metadata
CHANGED