net-ssh-simple 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +0 -1
- data/README.rdoc +9 -9
- data/coverage/.last_run.json +5 -0
- data/coverage/.resultset.json +771 -0
- data/coverage/assets/0.7.1/application.css +1110 -0
- data/coverage/assets/0.7.1/application.js +626 -0
- data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
- data/coverage/assets/0.7.1/favicon_green.png +0 -0
- data/coverage/assets/0.7.1/favicon_red.png +0 -0
- data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
- data/coverage/assets/0.7.1/loading.gif +0 -0
- data/coverage/assets/0.7.1/magnify.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +4672 -0
- data/doc/Net.html +117 -0
- data/doc/Net/SSH.html +117 -0
- data/doc/Net/SSH/Simple.html +2984 -0
- data/doc/Net/SSH/Simple/Error.html +432 -0
- data/doc/Net/SSH/Simple/Result.html +1640 -0
- data/doc/_index.html +162 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +258 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +258 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +348 -0
- data/doc/methods_list.html +212 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/net/ssh/simple.rb +6 -0
- data/lib/net/ssh/simple/version.rb +1 -1
- data/net-ssh-simple.gemspec +1 -1
- metadata +125 -22
data/doc/Net.html
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Module: Net
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.8.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
|
19
|
+
relpath = '';
|
|
20
|
+
framesUrl = "frames.html#!" + escape(window.location.href);
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
25
|
+
|
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<div id="header">
|
|
32
|
+
<div id="menu">
|
|
33
|
+
|
|
34
|
+
<a href="_index.html">Index (N)</a> »
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
<span class="title">Net</span>
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div id="search">
|
|
44
|
+
|
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
|
46
|
+
href="class_list.html">
|
|
47
|
+
Class List
|
|
48
|
+
</a>
|
|
49
|
+
|
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
|
51
|
+
href="method_list.html">
|
|
52
|
+
Method List
|
|
53
|
+
</a>
|
|
54
|
+
|
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
|
56
|
+
href="file_list.html">
|
|
57
|
+
File List
|
|
58
|
+
</a>
|
|
59
|
+
|
|
60
|
+
</div>
|
|
61
|
+
<div class="clear"></div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<iframe id="search_frame"></iframe>
|
|
65
|
+
|
|
66
|
+
<div id="content"><h1>Module: Net
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
</h1>
|
|
71
|
+
|
|
72
|
+
<dl class="box">
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<dt class="r1 last">Defined in:</dt>
|
|
82
|
+
<dd class="r1 last">lib/net/ssh/simple.rb<span class="defines">,<br />
|
|
83
|
+
lib/net/ssh/simple.rb,<br /> lib/net/ssh/simple/version.rb</span>
|
|
84
|
+
</dd>
|
|
85
|
+
|
|
86
|
+
</dl>
|
|
87
|
+
<div class="clear"></div>
|
|
88
|
+
|
|
89
|
+
<h2>Defined Under Namespace</h2>
|
|
90
|
+
<p class="children">
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Net/SSH.html" title="Net::SSH (module)">SSH</a></span>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
</p>
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<div id="footer">
|
|
111
|
+
Generated on Sat Jan 26 17:16:23 2013 by
|
|
112
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
113
|
+
0.8.3 (ruby-1.9.3).
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
</body>
|
|
117
|
+
</html>
|
data/doc/Net/SSH.html
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Module: Net::SSH
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.8.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
|
19
|
+
relpath = '../';
|
|
20
|
+
framesUrl = "../frames.html#!" + escape(window.location.href);
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
25
|
+
|
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<div id="header">
|
|
32
|
+
<div id="menu">
|
|
33
|
+
|
|
34
|
+
<a href="../_index.html">Index (S)</a> »
|
|
35
|
+
<span class='title'><span class='object_link'><a href="../Net.html" title="Net (module)">Net</a></span></span>
|
|
36
|
+
»
|
|
37
|
+
<span class="title">SSH</span>
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div id="search">
|
|
44
|
+
|
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
|
46
|
+
href="../class_list.html">
|
|
47
|
+
Class List
|
|
48
|
+
</a>
|
|
49
|
+
|
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
|
51
|
+
href="../method_list.html">
|
|
52
|
+
Method List
|
|
53
|
+
</a>
|
|
54
|
+
|
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
|
56
|
+
href="../file_list.html">
|
|
57
|
+
File List
|
|
58
|
+
</a>
|
|
59
|
+
|
|
60
|
+
</div>
|
|
61
|
+
<div class="clear"></div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<iframe id="search_frame"></iframe>
|
|
65
|
+
|
|
66
|
+
<div id="content"><h1>Module: Net::SSH
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
</h1>
|
|
71
|
+
|
|
72
|
+
<dl class="box">
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<dt class="r1 last">Defined in:</dt>
|
|
82
|
+
<dd class="r1 last">lib/net/ssh/simple.rb<span class="defines">,<br />
|
|
83
|
+
lib/net/ssh/simple.rb,<br /> lib/net/ssh/simple/version.rb</span>
|
|
84
|
+
</dd>
|
|
85
|
+
|
|
86
|
+
</dl>
|
|
87
|
+
<div class="clear"></div>
|
|
88
|
+
|
|
89
|
+
<h2>Defined Under Namespace</h2>
|
|
90
|
+
<p class="children">
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="SSH/Simple.html" title="Net::SSH::Simple (class)">Simple</a></span>
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
</p>
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<div id="footer">
|
|
111
|
+
Generated on Sat Jan 26 17:16:23 2013 by
|
|
112
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
113
|
+
0.8.3 (ruby-1.9.3).
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
</body>
|
|
117
|
+
</html>
|
|
@@ -0,0 +1,2984 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
6
|
+
<title>
|
|
7
|
+
Class: Net::SSH::Simple
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.8.3
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
|
19
|
+
relpath = '../../';
|
|
20
|
+
framesUrl = "../../frames.html#!" + escape(window.location.href);
|
|
21
|
+
</script>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
|
25
|
+
|
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<div id="header">
|
|
32
|
+
<div id="menu">
|
|
33
|
+
|
|
34
|
+
<a href="../../_index.html">Index (S)</a> »
|
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Net.html" title="Net (module)">Net</a></span></span> » <span class='title'><span class='object_link'><a href="../SSH.html" title="Net::SSH (module)">SSH</a></span></span>
|
|
36
|
+
»
|
|
37
|
+
<span class="title">Simple</span>
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div id="search">
|
|
44
|
+
|
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
|
46
|
+
href="../../class_list.html">
|
|
47
|
+
Class List
|
|
48
|
+
</a>
|
|
49
|
+
|
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
|
51
|
+
href="../../method_list.html">
|
|
52
|
+
Method List
|
|
53
|
+
</a>
|
|
54
|
+
|
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
|
56
|
+
href="../../file_list.html">
|
|
57
|
+
File List
|
|
58
|
+
</a>
|
|
59
|
+
|
|
60
|
+
</div>
|
|
61
|
+
<div class="clear"></div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<iframe id="search_frame"></iframe>
|
|
65
|
+
|
|
66
|
+
<div id="content"><h1>Class: Net::SSH::Simple
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
</h1>
|
|
71
|
+
|
|
72
|
+
<dl class="box">
|
|
73
|
+
|
|
74
|
+
<dt class="r1">Inherits:</dt>
|
|
75
|
+
<dd class="r1">
|
|
76
|
+
<span class="inheritName">Object</span>
|
|
77
|
+
|
|
78
|
+
<ul class="fullTree">
|
|
79
|
+
<li>Object</li>
|
|
80
|
+
|
|
81
|
+
<li class="next">Net::SSH::Simple</li>
|
|
82
|
+
|
|
83
|
+
</ul>
|
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
85
|
+
|
|
86
|
+
</dd>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
<dt class="r2">Includes:</dt>
|
|
94
|
+
<dd class="r2">Blockenspiel::DSL</dd>
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<dt class="r1 last">Defined in:</dt>
|
|
101
|
+
<dd class="r1 last">lib/net/ssh/simple.rb<span class="defines">,<br />
|
|
102
|
+
lib/net/ssh/simple.rb,<br /> lib/net/ssh/simple/version.rb</span>
|
|
103
|
+
</dd>
|
|
104
|
+
|
|
105
|
+
</dl>
|
|
106
|
+
<div class="clear"></div>
|
|
107
|
+
|
|
108
|
+
<h2>Overview</h2><div class="docstring">
|
|
109
|
+
<div class="discussion">
|
|
110
|
+
|
|
111
|
+
<p>Net::SSH::Simple is a simple wrapper around Net::SSH and Net::SCP.</p>
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="tags">
|
|
117
|
+
|
|
118
|
+
<div class="examples">
|
|
119
|
+
<p class="tag_title">Examples:</p>
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
<pre class="example code"><span class='comment'># Block Syntax (synchronous)
|
|
123
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
|
124
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
125
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World."
|
|
126
|
+
</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_exit_code'>exit_code</span> <span class='comment'>#=> 0
|
|
127
|
+
</span>
|
|
128
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
129
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
130
|
+
<span class='kw'>end</span></pre>
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
<pre class="example code"><span class='comment'># Block Syntax (asynchronous)
|
|
134
|
+
</span><span class='id identifier rubyid_t1'>t1</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
|
135
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
136
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World A."</span><span class='tstring_end'>'</span></span>
|
|
137
|
+
<span class='kw'>end</span>
|
|
138
|
+
<span class='id identifier rubyid_t2'>t2</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
|
139
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example6.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
140
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example7.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World B."</span><span class='tstring_end'>'</span></span>
|
|
141
|
+
<span class='kw'>end</span>
|
|
142
|
+
<span class='id identifier rubyid_r1'>r1</span> <span class='op'>=</span> <span class='id identifier rubyid_t1'>t1</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t1 to finish and grab return value
|
|
143
|
+
</span><span class='id identifier rubyid_r2'>r2</span> <span class='op'>=</span> <span class='id identifier rubyid_t2'>t2</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># wait for t2 to finish and grab return value
|
|
144
|
+
</span>
|
|
145
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r1'>r1</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World A."
|
|
146
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r2'>r2</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello World B."</span></pre>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
<pre class="example code"><span class='comment'># Using an instance
|
|
150
|
+
</span><span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
151
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
152
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
153
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
154
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span></pre>
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
<pre class="example code"><span class='comment'># Using no instance
|
|
158
|
+
</span><span class='comment'># Note: This will create a new connection for each operation!
|
|
159
|
+
</span><span class='comment'># Use instance- or block-syntax for better performance.
|
|
160
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
161
|
+
<span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
162
|
+
<span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span></pre>
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
<pre class="example code"><span class='comment'># Error Handling with Block Syntax (synchronous)
|
|
166
|
+
</span><span class='kw'>begin</span>
|
|
167
|
+
<span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
|
168
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
169
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Hello World.</span><span class='tstring_end'>'</span></span>
|
|
170
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! I Helloed World.</span><span class='tstring_end'>"</span></span>
|
|
171
|
+
<span class='kw'>end</span>
|
|
172
|
+
|
|
173
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
174
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span> <span class='op'>==</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span>
|
|
175
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! Uploaded </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_content'> bytes.</span><span class='tstring_end'>"</span></span>
|
|
176
|
+
<span class='kw'>end</span>
|
|
177
|
+
|
|
178
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
179
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span> <span class='op'>==</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span>
|
|
180
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! Downloaded </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_content'> bytes.</span><span class='tstring_end'>"</span></span>
|
|
181
|
+
<span class='kw'>end</span>
|
|
182
|
+
<span class='kw'>end</span>
|
|
183
|
+
<span class='kw'>rescue</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='op'>::</span><span class='const'>Error</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|
184
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Something bad happened!</span><span class='tstring_end'>"</span></span>
|
|
185
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span> <span class='comment'># Human readable error
|
|
186
|
+
</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_wrapped'>wrapped</span> <span class='comment'># Original Exception
|
|
187
|
+
</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='comment'># Net::SSH::Simple::Result
|
|
188
|
+
</span><span class='kw'>end</span></pre>
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
<pre class="example code"><span class='comment'># Error Handling with Block Syntax (asynchronous)
|
|
192
|
+
</span><span class='comment'>#
|
|
193
|
+
</span><span class='comment'># Exceptions are raised inside your thread.
|
|
194
|
+
</span><span class='comment'># You are free to handle them or pass them outwards.
|
|
195
|
+
</span>
|
|
196
|
+
<span class='id identifier rubyid_a'>a</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span> <span class='kw'>do</span>
|
|
197
|
+
<span class='kw'>begin</span>
|
|
198
|
+
<span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
199
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
200
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
201
|
+
<span class='kw'>rescue</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='op'>::</span><span class='const'>Error</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|
202
|
+
<span class='comment'># return our exception to the parent thread
|
|
203
|
+
</span> <span class='id identifier rubyid_e'>e</span>
|
|
204
|
+
<span class='kw'>end</span>
|
|
205
|
+
<span class='kw'>end</span>
|
|
206
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_a'>a</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span> <span class='comment'># Wait for thread to finish and capture result
|
|
207
|
+
</span>
|
|
208
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='op'>::</span><span class='const'>Result</span>
|
|
209
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Something bad happened!</span><span class='tstring_end'>"</span></span>
|
|
210
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span>
|
|
211
|
+
<span class='kw'>end</span></pre>
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
<pre class="example code"><span class='comment'># Error Handling with an instance
|
|
215
|
+
</span><span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
216
|
+
<span class='kw'>begin</span>
|
|
217
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span>
|
|
218
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Hello World.</span><span class='tstring_end'>'</span></span>
|
|
219
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! I Helloed World.</span><span class='tstring_end'>"</span></span>
|
|
220
|
+
<span class='kw'>end</span>
|
|
221
|
+
|
|
222
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span>
|
|
223
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span> <span class='op'>==</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span>
|
|
224
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! Uploaded </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_content'> bytes.</span><span class='tstring_end'>"</span></span>
|
|
225
|
+
<span class='kw'>end</span>
|
|
226
|
+
|
|
227
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example3.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span>
|
|
228
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_success'>success</span> <span class='kw'>and</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span> <span class='op'>==</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span>
|
|
229
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Success! Downloaded </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_content'> bytes.</span><span class='tstring_end'>"</span></span>
|
|
230
|
+
<span class='kw'>end</span>
|
|
231
|
+
<span class='kw'>rescue</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='op'>::</span><span class='const'>Error</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|
232
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Something bad happened!</span><span class='tstring_end'>"</span></span>
|
|
233
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span> <span class='comment'># Human readable error
|
|
234
|
+
</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_wrapped'>wrapped</span> <span class='comment'># Original Exception
|
|
235
|
+
</span> <span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='comment'># Net::SSH::Simple::Result (partial result)
|
|
236
|
+
</span><span class='kw'>ensure</span>
|
|
237
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='comment'># don't forget the clean up!
|
|
238
|
+
</span><span class='kw'>end</span></pre>
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
<pre class="example code"><span class='comment'># Parameters
|
|
242
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
|
243
|
+
<span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
244
|
+
<span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tom</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:password</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>jerry</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:port</span> <span class='op'>=></span> <span class='int'>1234</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
245
|
+
<span class='kw'>end</span>
|
|
246
|
+
|
|
247
|
+
<span class='comment'># Parameter inheritance
|
|
248
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:user</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tom</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:port</span> <span class='op'>=></span> <span class='int'>1234</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
|
249
|
+
<span class='comment'># Both commands will inherit :user and :port
|
|
250
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo "Hello World."</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:password</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>jerry</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
251
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example2.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/a</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/a</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='symbol'>:password</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>s3cr3t</span><span class='tstring_end'>'</span></span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
252
|
+
<span class='kw'>end</span></pre>
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
<pre class="example code"><span class='comment'># Using the SCP progress callback
|
|
256
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
|
257
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example1.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_sent'>sent</span><span class='comma'>,</span> <span class='id identifier rubyid_total'>total</span><span class='op'>|</span>
|
|
258
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Bytes uploaded: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
|
259
|
+
<span class='kw'>end</span>
|
|
260
|
+
<span class='kw'>end</span></pre>
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
<pre class="example code"><span class='comment'>#
|
|
264
|
+
</span><span class='comment'># Here be dragons: Using the event-API for a stdin->stdout pipeline
|
|
265
|
+
</span><span class='comment'>#
|
|
266
|
+
</span><span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span> <span class='kw'>do</span>
|
|
267
|
+
<span class='comment'># open a shell
|
|
268
|
+
</span> <span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/bin/sh</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='comma'>,</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span><span class='id identifier rubyid_d'>d</span><span class='op'>|</span>
|
|
269
|
+
<span class='comment'># e = :start, :stdout, :stderr, :exit_code, :exit_signal or :finish
|
|
270
|
+
</span> <span class='comment'># c = our Net::SSH::Connection::Channel instance
|
|
271
|
+
</span> <span class='comment'># d = data for this event
|
|
272
|
+
</span> <span class='kw'>case</span> <span class='id identifier rubyid_e'>e</span>
|
|
273
|
+
<span class='comment'># :start is triggered exactly once per connection
|
|
274
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:start</span>
|
|
275
|
+
<span class='comment'># we can send data using Channel#send_data
|
|
276
|
+
</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_send_data'>send_data</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>echo 'hello stdout'\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
277
|
+
<span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_send_data'>send_data</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>echo 'hello stderr' 1>&2\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
|
278
|
+
<span class='comment'># don't forget to eof when done feeding!
|
|
279
|
+
</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_eof!'>eof!</span>
|
|
280
|
+
|
|
281
|
+
<span class='comment'># :stdout is triggered when there's stdout data from remote.
|
|
282
|
+
</span> <span class='comment'># by default the data is also appended to result[:stdout].
|
|
283
|
+
</span> <span class='comment'># you may return :no_append as seen below to avoid that.
|
|
284
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:stdout</span>
|
|
285
|
+
<span class='comment'># read the input line-wise (it *will* arrive fragmented!)
|
|
286
|
+
</span> <span class='lparen'>(</span><span class='ivar'>@buf</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'><<</span> <span class='id identifier rubyid_d'>d</span>
|
|
287
|
+
<span class='kw'>while</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@buf</span><span class='period'>.</span><span class='id identifier rubyid_slice!'>slice!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(.*)\r?\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
|
288
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_line'>line</span> <span class='comment'>#=> "hello stdout"
|
|
289
|
+
</span> <span class='kw'>end</span>
|
|
290
|
+
<span class='symbol'>:no_append</span>
|
|
291
|
+
|
|
292
|
+
<span class='comment'># :stderr is triggered when there's stderr data from remote.
|
|
293
|
+
</span> <span class='comment'># by default the data is also appended to result[:stderr].
|
|
294
|
+
</span> <span class='comment'># you may return :no_append as seen below to avoid that.
|
|
295
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:stderr</span>
|
|
296
|
+
<span class='comment'># read the input line-wise (it *will* arrive fragmented!)
|
|
297
|
+
</span> <span class='lparen'>(</span><span class='ivar'>@buf</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'><<</span> <span class='id identifier rubyid_d'>d</span>
|
|
298
|
+
<span class='kw'>while</span> <span class='id identifier rubyid_line'>line</span> <span class='op'>=</span> <span class='ivar'>@buf</span><span class='period'>.</span><span class='id identifier rubyid_slice!'>slice!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(.*)\r?\n</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
|
299
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_line'>line</span> <span class='comment'>#=> "hello stderr"
|
|
300
|
+
</span> <span class='kw'>end</span>
|
|
301
|
+
<span class='symbol'>:no_append</span>
|
|
302
|
+
|
|
303
|
+
<span class='comment'># :exit_code is triggered when the remote process exits normally.
|
|
304
|
+
</span> <span class='comment'># it does *not* trigger when the remote process exits by signal!
|
|
305
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:exit_code</span>
|
|
306
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_d'>d</span> <span class='comment'>#=> 0
|
|
307
|
+
</span>
|
|
308
|
+
<span class='comment'># :exit_signal is triggered when the remote is killed by signal.
|
|
309
|
+
</span> <span class='comment'># this would normally raise a Net::SSH::Simple::Error but
|
|
310
|
+
</span> <span class='comment'># we suppress that here by returning :no_raise
|
|
311
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:exit_signal</span>
|
|
312
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_d'>d</span> <span class='comment'># won't fire in this example, could be "TERM"
|
|
313
|
+
</span> <span class='symbol'>:no_raise</span>
|
|
314
|
+
|
|
315
|
+
<span class='comment'># :finish triggers after :exit_code when the command exits normally.
|
|
316
|
+
</span> <span class='comment'># it does *not* trigger when the remote process exits by signal!
|
|
317
|
+
</span> <span class='kw'>when</span> <span class='symbol'>:finish</span>
|
|
318
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>we are finished!</span><span class='tstring_end'>"</span></span>
|
|
319
|
+
<span class='kw'>end</span>
|
|
320
|
+
<span class='kw'>end</span>
|
|
321
|
+
<span class='kw'>end</span>
|
|
322
|
+
|
|
323
|
+
<span class='comment'># Our Result has been populated normally, except for
|
|
324
|
+
</span><span class='comment'># :stdout and :stdin (because we used :no_append).
|
|
325
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span> <span class='comment'>#=> Net::SSH::Simple::Result
|
|
326
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_exit_code'>exit_code</span> <span class='comment'>#=> 0
|
|
327
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> ''
|
|
328
|
+
</span><span class='id identifier rubyid_puts'>puts</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_stderr'>stderr</span> <span class='comment'>#=> ''</span></pre>
|
|
329
|
+
|
|
330
|
+
</div>
|
|
331
|
+
|
|
332
|
+
<p class="tag_title">Author:</p>
|
|
333
|
+
<ul class="author">
|
|
334
|
+
|
|
335
|
+
<li>
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
<div class='inline'>
|
|
342
|
+
<p>moe@busyloop.net</p>
|
|
343
|
+
</div>
|
|
344
|
+
|
|
345
|
+
</li>
|
|
346
|
+
|
|
347
|
+
</ul>
|
|
348
|
+
|
|
349
|
+
</div><h2>Defined Under Namespace</h2>
|
|
350
|
+
<p class="children">
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Simple/Error.html" title="Net::SSH::Simple::Error (class)">Error</a></span>, <span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Result</a></span>
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
</p>
|
|
359
|
+
|
|
360
|
+
<h2>Constant Summary</h2>
|
|
361
|
+
|
|
362
|
+
<dl class="constants">
|
|
363
|
+
|
|
364
|
+
<dt id="VERSION-constant" class="">VERSION =
|
|
365
|
+
|
|
366
|
+
</dt>
|
|
367
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1.6.0</span><span class='tstring_end'>"</span></span></pre></dd>
|
|
368
|
+
|
|
369
|
+
</dl>
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
|
376
|
+
<ul class="summary">
|
|
377
|
+
|
|
378
|
+
<li class="public ">
|
|
379
|
+
<span class="summary_signature">
|
|
380
|
+
|
|
381
|
+
<a href="#result-instance_method" title="#result (instance method)">- (Net::SSH::Simple::Result) <strong>result</strong> </a>
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
</span>
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
<span class="note title readonly">readonly</span>
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
<span class="summary_desc"><div class='inline'>
|
|
401
|
+
<p>Result of the current Net::SSH::Simple::Operation.</p>
|
|
402
|
+
</div></span>
|
|
403
|
+
|
|
404
|
+
</li>
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
</ul>
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
<h2>
|
|
414
|
+
Class Method Summary
|
|
415
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
416
|
+
</h2>
|
|
417
|
+
|
|
418
|
+
<ul class="summary">
|
|
419
|
+
|
|
420
|
+
<li class="public ">
|
|
421
|
+
<span class="summary_signature">
|
|
422
|
+
|
|
423
|
+
<a href="#async-class_method" title="async (class method)">+ (Thread) <strong>async</strong>(opts = {}, &block) </a>
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
</span>
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
<span class="summary_desc"><div class='inline'>
|
|
438
|
+
<p>Spawn a Thread to perform a sequence of ssh/scp operations.</p>
|
|
439
|
+
</div></span>
|
|
440
|
+
|
|
441
|
+
</li>
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
<li class="public deprecated">
|
|
445
|
+
<span class="summary_signature">
|
|
446
|
+
|
|
447
|
+
<a href="#scp_dl-class_method" title="scp_dl (class method)">+ (Object) <strong>scp_dl</strong>(*args, &block) </a>
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
</span>
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
<span class="deprecated note title">deprecated</span>
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
<span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
|
|
462
|
+
<p>Use scp_get instead.</p>
|
|
463
|
+
</div></span>
|
|
464
|
+
|
|
465
|
+
</li>
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
<li class="public ">
|
|
469
|
+
<span class="summary_signature">
|
|
470
|
+
|
|
471
|
+
<a href="#scp_get-class_method" title="scp_get (class method)">+ (Net::SSH::Simple::Result) <strong>scp_get</strong>(*args, &block) </a>
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
</span>
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
<span class="summary_desc"><div class='inline'>
|
|
486
|
+
<p>SCP download from a remote host.</p>
|
|
487
|
+
</div></span>
|
|
488
|
+
|
|
489
|
+
</li>
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
<li class="public ">
|
|
493
|
+
<span class="summary_signature">
|
|
494
|
+
|
|
495
|
+
<a href="#scp_put-class_method" title="scp_put (class method)">+ (Net::SSH::Simple::Result) <strong>scp_put</strong>(*args, &block) </a>
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
</span>
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
<span class="summary_desc"><div class='inline'>
|
|
510
|
+
<p>SCP upload to a remote host.</p>
|
|
511
|
+
</div></span>
|
|
512
|
+
|
|
513
|
+
</li>
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
<li class="public deprecated">
|
|
517
|
+
<span class="summary_signature">
|
|
518
|
+
|
|
519
|
+
<a href="#scp_ul-class_method" title="scp_ul (class method)">+ (Object) <strong>scp_ul</strong>(*args, &block) </a>
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
</span>
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
<span class="deprecated note title">deprecated</span>
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
<span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
|
|
534
|
+
<p>Use scp_put instead.</p>
|
|
535
|
+
</div></span>
|
|
536
|
+
|
|
537
|
+
</li>
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
<li class="public ">
|
|
541
|
+
<span class="summary_signature">
|
|
542
|
+
|
|
543
|
+
<a href="#ssh-class_method" title="ssh (class method)">+ (Net::SSH::Simple::Result) <strong>ssh</strong>(*args, &block) </a>
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
</span>
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
<span class="summary_desc"><div class='inline'>
|
|
558
|
+
<p>Perform ssh command on a remote host and capture the result.</p>
|
|
559
|
+
</div></span>
|
|
560
|
+
|
|
561
|
+
</li>
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
<li class="public ">
|
|
565
|
+
<span class="summary_signature">
|
|
566
|
+
|
|
567
|
+
<a href="#sync-class_method" title="sync (class method)">+ (Net::SSH::Simple::Result) <strong>sync</strong>(opts = {}, &block) </a>
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
</span>
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
<span class="summary_desc"><div class='inline'>
|
|
582
|
+
<p>Perform a sequence of ssh/scp operations.</p>
|
|
583
|
+
</div></span>
|
|
584
|
+
|
|
585
|
+
</li>
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
</ul>
|
|
589
|
+
|
|
590
|
+
<h2>
|
|
591
|
+
Instance Method Summary
|
|
592
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
593
|
+
</h2>
|
|
594
|
+
|
|
595
|
+
<ul class="summary">
|
|
596
|
+
|
|
597
|
+
<li class="public ">
|
|
598
|
+
<span class="summary_signature">
|
|
599
|
+
|
|
600
|
+
<a href="#async-instance_method" title="#async (instance method)">- (Thread) <strong>async</strong>(opts = {}, &block) </a>
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
</span>
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
<span class="summary_desc"><div class='inline'>
|
|
615
|
+
<p>Spawn a Thread to perform a sequence of ssh/scp operations.</p>
|
|
616
|
+
</div></span>
|
|
617
|
+
|
|
618
|
+
</li>
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
<li class="public ">
|
|
622
|
+
<span class="summary_signature">
|
|
623
|
+
|
|
624
|
+
<a href="#close-instance_method" title="#close (instance method)">- (Net::SSH::Simple::Result) <strong>close</strong> </a>
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
</span>
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
<span class="summary_desc"><div class='inline'>
|
|
639
|
+
<p>Close and cleanup.</p>
|
|
640
|
+
</div></span>
|
|
641
|
+
|
|
642
|
+
</li>
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
<li class="public ">
|
|
646
|
+
<span class="summary_signature">
|
|
647
|
+
|
|
648
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Simple) <strong>initialize</strong>(opts = {}) </a>
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
</span>
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
<span class="note title constructor">constructor</span>
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
<span class="summary_desc"><div class='inline'>
|
|
665
|
+
<p>A new instance of Simple.</p>
|
|
666
|
+
</div></span>
|
|
667
|
+
|
|
668
|
+
</li>
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
<li class="public deprecated">
|
|
672
|
+
<span class="summary_signature">
|
|
673
|
+
|
|
674
|
+
<a href="#scp_dl-instance_method" title="#scp_dl (instance method)">- (Object) <strong>scp_dl</strong>(host, src, dst, opts = {}, &block) </a>
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
</span>
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
<span class="deprecated note title">deprecated</span>
|
|
685
|
+
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
<span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
|
|
689
|
+
<p>Use scp_get instead.</p>
|
|
690
|
+
</div></span>
|
|
691
|
+
|
|
692
|
+
</li>
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
<li class="public ">
|
|
696
|
+
<span class="summary_signature">
|
|
697
|
+
|
|
698
|
+
<a href="#scp_get-instance_method" title="#scp_get (instance method)">- (Net::SSH::Simple::Result) <strong>scp_get</strong>(host, src, dst, opts = {}, &block) </a>
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
</span>
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
<span class="summary_desc"><div class='inline'>
|
|
713
|
+
<p>SCP download from a remote host.</p>
|
|
714
|
+
</div></span>
|
|
715
|
+
|
|
716
|
+
</li>
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
<li class="public ">
|
|
720
|
+
<span class="summary_signature">
|
|
721
|
+
|
|
722
|
+
<a href="#scp_put-instance_method" title="#scp_put (instance method)">- (Net::SSH::Simple::Result) <strong>scp_put</strong>(host, src, dst, opts = {}, &block) </a>
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
</span>
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
<span class="summary_desc"><div class='inline'>
|
|
737
|
+
<p>SCP upload to a remote host.</p>
|
|
738
|
+
</div></span>
|
|
739
|
+
|
|
740
|
+
</li>
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
<li class="public deprecated">
|
|
744
|
+
<span class="summary_signature">
|
|
745
|
+
|
|
746
|
+
<a href="#scp_ul-instance_method" title="#scp_ul (instance method)">- (Object) <strong>scp_ul</strong>(host, src, dst, opts = {}, &block) </a>
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
</span>
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
<span class="deprecated note title">deprecated</span>
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
<span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
|
|
761
|
+
<p>Use scp_put instead.</p>
|
|
762
|
+
</div></span>
|
|
763
|
+
|
|
764
|
+
</li>
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
<li class="public ">
|
|
768
|
+
<span class="summary_signature">
|
|
769
|
+
|
|
770
|
+
<a href="#ssh-instance_method" title="#ssh (instance method)">- (Net::SSH::Simple::Result) <strong>ssh</strong>(host, cmd, opts = {}, &block) </a>
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
</span>
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
<span class="summary_desc"><div class='inline'>
|
|
785
|
+
<p>Perform SSH operation on a remote host and capture the result.</p>
|
|
786
|
+
</div></span>
|
|
787
|
+
|
|
788
|
+
</li>
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
</ul>
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
<div id="constructor_details" class="method_details_list">
|
|
796
|
+
<h2>Constructor Details</h2>
|
|
797
|
+
|
|
798
|
+
<div class="method_details first">
|
|
799
|
+
<h3 class="signature first" id="initialize-instance_method">
|
|
800
|
+
|
|
801
|
+
- (<tt><span class='object_link'><a href="" title="Net::SSH::Simple (class)">Simple</a></span></tt>) <strong>initialize</strong>(opts = {})
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
</h3><div class="docstring">
|
|
808
|
+
<div class="discussion">
|
|
809
|
+
|
|
810
|
+
<p>A new instance of Simple</p>
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
</div>
|
|
814
|
+
</div>
|
|
815
|
+
<div class="tags">
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
</div><table class="source_code">
|
|
819
|
+
<tr>
|
|
820
|
+
<td>
|
|
821
|
+
<pre class="lines">
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
562
|
|
825
|
+
563
|
|
826
|
+
564
|
|
827
|
+
565
|
|
828
|
+
566</pre>
|
|
829
|
+
</td>
|
|
830
|
+
<td>
|
|
831
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 562</span>
|
|
832
|
+
|
|
833
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
834
|
+
<span class='ivar'>@opts</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span>
|
|
835
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:ssh_simple_sessions</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
836
|
+
<span class='ivar'>@result</span> <span class='op'>=</span> <span class='const'>Result</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
837
|
+
<span class='kw'>end</span></pre>
|
|
838
|
+
</td>
|
|
839
|
+
</tr>
|
|
840
|
+
</table>
|
|
841
|
+
</div>
|
|
842
|
+
|
|
843
|
+
</div>
|
|
844
|
+
|
|
845
|
+
<div id="instance_attr_details" class="attr_details">
|
|
846
|
+
<h2>Instance Attribute Details</h2>
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
<span id=""></span>
|
|
850
|
+
<div class="method_details first">
|
|
851
|
+
<h3 class="signature first" id="result-instance_method">
|
|
852
|
+
|
|
853
|
+
- (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>result</strong> <span class="extras">(readonly)</span>
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
</h3><div class="docstring">
|
|
860
|
+
<div class="discussion">
|
|
861
|
+
|
|
862
|
+
<p>Result of the current Net::SSH::Simple::Operation.</p>
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
</div>
|
|
866
|
+
</div>
|
|
867
|
+
<div class="tags">
|
|
868
|
+
|
|
869
|
+
<p class="tag_title">Returns:</p>
|
|
870
|
+
<ul class="return">
|
|
871
|
+
|
|
872
|
+
<li>
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
—
|
|
880
|
+
<div class='inline'>
|
|
881
|
+
<p>Result of the current operation</p>
|
|
882
|
+
</div>
|
|
883
|
+
|
|
884
|
+
</li>
|
|
885
|
+
|
|
886
|
+
</ul>
|
|
887
|
+
|
|
888
|
+
</div><table class="source_code">
|
|
889
|
+
<tr>
|
|
890
|
+
<td>
|
|
891
|
+
<pre class="lines">
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
253
|
|
895
|
+
254
|
|
896
|
+
255</pre>
|
|
897
|
+
</td>
|
|
898
|
+
<td>
|
|
899
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 253</span>
|
|
900
|
+
|
|
901
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_result'>result</span>
|
|
902
|
+
<span class='ivar'>@result</span>
|
|
903
|
+
<span class='kw'>end</span></pre>
|
|
904
|
+
</td>
|
|
905
|
+
</tr>
|
|
906
|
+
</table>
|
|
907
|
+
</div>
|
|
908
|
+
|
|
909
|
+
</div>
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
<div id="class_method_details" class="method_details_list">
|
|
913
|
+
<h2>Class Method Details</h2>
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
<div class="method_details first">
|
|
917
|
+
<h3 class="signature first" id="async-class_method">
|
|
918
|
+
|
|
919
|
+
+ (<tt>Thread</tt>) <strong>async</strong>(opts = {}, &block)
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
</h3><div class="docstring">
|
|
926
|
+
<div class="discussion">
|
|
927
|
+
|
|
928
|
+
<p>Spawn a Thread to perform a sequence of ssh/scp operations.</p>
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
</div>
|
|
932
|
+
</div>
|
|
933
|
+
<div class="tags">
|
|
934
|
+
<p class="tag_title">Parameters:</p>
|
|
935
|
+
<ul class="param">
|
|
936
|
+
|
|
937
|
+
<li>
|
|
938
|
+
|
|
939
|
+
<span class='name'>block</span>
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
</li>
|
|
947
|
+
|
|
948
|
+
<li>
|
|
949
|
+
|
|
950
|
+
<span class='name'>opts</span>
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
—
|
|
960
|
+
<div class='inline'>
|
|
961
|
+
<p>SSH options</p>
|
|
962
|
+
</div>
|
|
963
|
+
|
|
964
|
+
</li>
|
|
965
|
+
|
|
966
|
+
</ul>
|
|
967
|
+
|
|
968
|
+
<p class="tag_title">Returns:</p>
|
|
969
|
+
<ul class="return">
|
|
970
|
+
|
|
971
|
+
<li>
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
<span class='type'>(<tt>Thread</tt>)</span>
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
—
|
|
979
|
+
<div class='inline'>
|
|
980
|
+
<p>Thread executing the SSH-Block.</p>
|
|
981
|
+
</div>
|
|
982
|
+
|
|
983
|
+
</li>
|
|
984
|
+
|
|
985
|
+
</ul>
|
|
986
|
+
|
|
987
|
+
</div><table class="source_code">
|
|
988
|
+
<tr>
|
|
989
|
+
<td>
|
|
990
|
+
<pre class="lines">
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
575
|
|
994
|
+
576
|
|
995
|
+
577
|
|
996
|
+
578
|
|
997
|
+
579</pre>
|
|
998
|
+
</td>
|
|
999
|
+
<td>
|
|
1000
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 575</span>
|
|
1001
|
+
|
|
1002
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1003
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span>
|
|
1004
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1005
|
+
<span class='kw'>end</span>
|
|
1006
|
+
<span class='kw'>end</span></pre>
|
|
1007
|
+
</td>
|
|
1008
|
+
</tr>
|
|
1009
|
+
</table>
|
|
1010
|
+
</div>
|
|
1011
|
+
|
|
1012
|
+
<div class="method_details ">
|
|
1013
|
+
<h3 class="signature " id="scp_dl-class_method">
|
|
1014
|
+
|
|
1015
|
+
+ (<tt>Object</tt>) <strong>scp_dl</strong>(*args, &block)
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
</h3><div class="docstring">
|
|
1022
|
+
<div class="discussion">
|
|
1023
|
+
<div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
|
|
1024
|
+
<p>Use scp_get instead.</p>
|
|
1025
|
+
</div></div>
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
</div>
|
|
1029
|
+
</div>
|
|
1030
|
+
<div class="tags">
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
</div><table class="source_code">
|
|
1034
|
+
<tr>
|
|
1035
|
+
<td>
|
|
1036
|
+
<pre class="lines">
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
331
|
|
1040
|
+
332
|
|
1041
|
+
333
|
|
1042
|
+
334</pre>
|
|
1043
|
+
</td>
|
|
1044
|
+
<td>
|
|
1045
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 331</span>
|
|
1046
|
+
|
|
1047
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_dl'>scp_dl</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1048
|
+
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[DEPRECATION] Net::SSH::Simple.scp_dl is deprecated. Please use .scp_get instead (usage is identical, the method was only renamed).</span><span class='tstring_end'>"</span></span>
|
|
1049
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1050
|
+
<span class='kw'>end</span></pre>
|
|
1051
|
+
</td>
|
|
1052
|
+
</tr>
|
|
1053
|
+
</table>
|
|
1054
|
+
</div>
|
|
1055
|
+
|
|
1056
|
+
<div class="method_details ">
|
|
1057
|
+
<h3 class="signature " id="scp_get-class_method">
|
|
1058
|
+
|
|
1059
|
+
+ (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>scp_get</strong>(*args, &block)
|
|
1060
|
+
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
</h3><div class="docstring">
|
|
1066
|
+
<div class="discussion">
|
|
1067
|
+
|
|
1068
|
+
<p>SCP download from a remote host. This will create a new connection for each
|
|
1069
|
+
invocation.</p>
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
</div>
|
|
1073
|
+
</div>
|
|
1074
|
+
<div class="tags">
|
|
1075
|
+
|
|
1076
|
+
<div class="examples">
|
|
1077
|
+
<p class="tag_title">Examples:</p>
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
<pre class="example code"><span class='comment'># SCP Download
|
|
1081
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
<pre class="example code"><span class='comment'># Pass a block to monitor progress
|
|
1085
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_bar</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_sent'>sent</span><span class='comma'>,</span> <span class='id identifier rubyid_total'>total</span><span class='op'>|</span>
|
|
1086
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Bytes downloaded: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
|
1087
|
+
<span class='kw'>end</span></pre>
|
|
1088
|
+
|
|
1089
|
+
</div>
|
|
1090
|
+
<p class="tag_title">Parameters:</p>
|
|
1091
|
+
<ul class="param">
|
|
1092
|
+
|
|
1093
|
+
<li>
|
|
1094
|
+
|
|
1095
|
+
<span class='name'>host</span>
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1099
|
+
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
—
|
|
1103
|
+
<div class='inline'>
|
|
1104
|
+
<p>Destination hostname or ip-address</p>
|
|
1105
|
+
</div>
|
|
1106
|
+
|
|
1107
|
+
</li>
|
|
1108
|
+
|
|
1109
|
+
<li>
|
|
1110
|
+
|
|
1111
|
+
<span class='name'>src</span>
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1115
|
+
|
|
1116
|
+
|
|
1117
|
+
|
|
1118
|
+
—
|
|
1119
|
+
<div class='inline'>
|
|
1120
|
+
<p>Source path (on remote host)</p>
|
|
1121
|
+
</div>
|
|
1122
|
+
|
|
1123
|
+
</li>
|
|
1124
|
+
|
|
1125
|
+
<li>
|
|
1126
|
+
|
|
1127
|
+
<span class='name'>dst</span>
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
—
|
|
1135
|
+
<div class='inline'>
|
|
1136
|
+
<p>Destination path (on localhost)</p>
|
|
1137
|
+
</div>
|
|
1138
|
+
|
|
1139
|
+
</li>
|
|
1140
|
+
|
|
1141
|
+
<li>
|
|
1142
|
+
|
|
1143
|
+
<span class='name'>block</span>
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
—
|
|
1151
|
+
<div class='inline'>
|
|
1152
|
+
<p>Progress callback (optional)</p>
|
|
1153
|
+
</div>
|
|
1154
|
+
|
|
1155
|
+
</li>
|
|
1156
|
+
|
|
1157
|
+
<li>
|
|
1158
|
+
|
|
1159
|
+
<span class='name'>opts</span>
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
—
|
|
1167
|
+
<div class='inline'>
|
|
1168
|
+
<p>SSH options</p>
|
|
1169
|
+
</div>
|
|
1170
|
+
|
|
1171
|
+
</li>
|
|
1172
|
+
|
|
1173
|
+
</ul>
|
|
1174
|
+
|
|
1175
|
+
<p class="tag_title">Returns:</p>
|
|
1176
|
+
<ul class="return">
|
|
1177
|
+
|
|
1178
|
+
<li>
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
—
|
|
1186
|
+
<div class='inline'>
|
|
1187
|
+
<p>Result</p>
|
|
1188
|
+
</div>
|
|
1189
|
+
|
|
1190
|
+
</li>
|
|
1191
|
+
|
|
1192
|
+
</ul>
|
|
1193
|
+
<p class="tag_title">Raises:</p>
|
|
1194
|
+
<ul class="raise">
|
|
1195
|
+
|
|
1196
|
+
<li>
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Error.html" title="Net::SSH::Simple::Error (class)">Net::SSH::Simple::Error</a></span></tt>)</span>
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
</li>
|
|
1204
|
+
|
|
1205
|
+
</ul>
|
|
1206
|
+
|
|
1207
|
+
</div><table class="source_code">
|
|
1208
|
+
<tr>
|
|
1209
|
+
<td>
|
|
1210
|
+
<pre class="lines">
|
|
1211
|
+
|
|
1212
|
+
|
|
1213
|
+
317
|
|
1214
|
+
318
|
|
1215
|
+
319
|
|
1216
|
+
320
|
|
1217
|
+
321
|
|
1218
|
+
322</pre>
|
|
1219
|
+
</td>
|
|
1220
|
+
<td>
|
|
1221
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 317</span>
|
|
1222
|
+
|
|
1223
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1224
|
+
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
1225
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1226
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
|
1227
|
+
<span class='id identifier rubyid_r'>r</span>
|
|
1228
|
+
<span class='kw'>end</span></pre>
|
|
1229
|
+
</td>
|
|
1230
|
+
</tr>
|
|
1231
|
+
</table>
|
|
1232
|
+
</div>
|
|
1233
|
+
|
|
1234
|
+
<div class="method_details ">
|
|
1235
|
+
<h3 class="signature " id="scp_put-class_method">
|
|
1236
|
+
|
|
1237
|
+
+ (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>scp_put</strong>(*args, &block)
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
</h3><div class="docstring">
|
|
1244
|
+
<div class="discussion">
|
|
1245
|
+
|
|
1246
|
+
<p>SCP upload to a remote host. This will create a new connection for each
|
|
1247
|
+
invocation.</p>
|
|
1248
|
+
|
|
1249
|
+
|
|
1250
|
+
</div>
|
|
1251
|
+
</div>
|
|
1252
|
+
<div class="tags">
|
|
1253
|
+
|
|
1254
|
+
<div class="examples">
|
|
1255
|
+
<p class="tag_title">Examples:</p>
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
<pre class="example code"><span class='comment'># SCP Upload
|
|
1259
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
|
|
1260
|
+
|
|
1261
|
+
|
|
1262
|
+
<pre class="example code"><span class='comment'># Pass a block to monitor progress
|
|
1263
|
+
</span><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/local_foo</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/tmp/remote_bar</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_sent'>sent</span><span class='comma'>,</span> <span class='id identifier rubyid_total'>total</span><span class='op'>|</span>
|
|
1264
|
+
<span class='id identifier rubyid_puts'>puts</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Bytes uploaded: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sent'>sent</span><span class='rbrace'>}</span><span class='tstring_content'> of </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_total'>total</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
|
1265
|
+
<span class='kw'>end</span></pre>
|
|
1266
|
+
|
|
1267
|
+
</div>
|
|
1268
|
+
<p class="tag_title">Parameters:</p>
|
|
1269
|
+
<ul class="param">
|
|
1270
|
+
|
|
1271
|
+
<li>
|
|
1272
|
+
|
|
1273
|
+
<span class='name'>host</span>
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
|
|
1280
|
+
—
|
|
1281
|
+
<div class='inline'>
|
|
1282
|
+
<p>Destination hostname or ip-address</p>
|
|
1283
|
+
</div>
|
|
1284
|
+
|
|
1285
|
+
</li>
|
|
1286
|
+
|
|
1287
|
+
<li>
|
|
1288
|
+
|
|
1289
|
+
<span class='name'>src</span>
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
—
|
|
1297
|
+
<div class='inline'>
|
|
1298
|
+
<p>Source path (on localhost)</p>
|
|
1299
|
+
</div>
|
|
1300
|
+
|
|
1301
|
+
</li>
|
|
1302
|
+
|
|
1303
|
+
<li>
|
|
1304
|
+
|
|
1305
|
+
<span class='name'>dst</span>
|
|
1306
|
+
|
|
1307
|
+
|
|
1308
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
—
|
|
1313
|
+
<div class='inline'>
|
|
1314
|
+
<p>Destination path (on remote host)</p>
|
|
1315
|
+
</div>
|
|
1316
|
+
|
|
1317
|
+
</li>
|
|
1318
|
+
|
|
1319
|
+
<li>
|
|
1320
|
+
|
|
1321
|
+
<span class='name'>block</span>
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
|
|
1328
|
+
—
|
|
1329
|
+
<div class='inline'>
|
|
1330
|
+
<p>Progress callback (optional)</p>
|
|
1331
|
+
</div>
|
|
1332
|
+
|
|
1333
|
+
</li>
|
|
1334
|
+
|
|
1335
|
+
<li>
|
|
1336
|
+
|
|
1337
|
+
<span class='name'>opts</span>
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1341
|
+
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
—
|
|
1345
|
+
<div class='inline'>
|
|
1346
|
+
<p>SSH options</p>
|
|
1347
|
+
</div>
|
|
1348
|
+
|
|
1349
|
+
</li>
|
|
1350
|
+
|
|
1351
|
+
</ul>
|
|
1352
|
+
|
|
1353
|
+
<p class="tag_title">Returns:</p>
|
|
1354
|
+
<ul class="return">
|
|
1355
|
+
|
|
1356
|
+
<li>
|
|
1357
|
+
|
|
1358
|
+
|
|
1359
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
—
|
|
1364
|
+
<div class='inline'>
|
|
1365
|
+
<p>Result</p>
|
|
1366
|
+
</div>
|
|
1367
|
+
|
|
1368
|
+
</li>
|
|
1369
|
+
|
|
1370
|
+
</ul>
|
|
1371
|
+
<p class="tag_title">Raises:</p>
|
|
1372
|
+
<ul class="raise">
|
|
1373
|
+
|
|
1374
|
+
<li>
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Error.html" title="Net::SSH::Simple::Error (class)">Net::SSH::Simple::Error</a></span></tt>)</span>
|
|
1378
|
+
|
|
1379
|
+
|
|
1380
|
+
|
|
1381
|
+
</li>
|
|
1382
|
+
|
|
1383
|
+
</ul>
|
|
1384
|
+
|
|
1385
|
+
</div><table class="source_code">
|
|
1386
|
+
<tr>
|
|
1387
|
+
<td>
|
|
1388
|
+
<pre class="lines">
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
292
|
|
1392
|
+
293
|
|
1393
|
+
294
|
|
1394
|
+
295
|
|
1395
|
+
296
|
|
1396
|
+
297</pre>
|
|
1397
|
+
</td>
|
|
1398
|
+
<td>
|
|
1399
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 292</span>
|
|
1400
|
+
|
|
1401
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1402
|
+
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
1403
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1404
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
|
1405
|
+
<span class='id identifier rubyid_r'>r</span>
|
|
1406
|
+
<span class='kw'>end</span></pre>
|
|
1407
|
+
</td>
|
|
1408
|
+
</tr>
|
|
1409
|
+
</table>
|
|
1410
|
+
</div>
|
|
1411
|
+
|
|
1412
|
+
<div class="method_details ">
|
|
1413
|
+
<h3 class="signature " id="scp_ul-class_method">
|
|
1414
|
+
|
|
1415
|
+
+ (<tt>Object</tt>) <strong>scp_ul</strong>(*args, &block)
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
</h3><div class="docstring">
|
|
1422
|
+
<div class="discussion">
|
|
1423
|
+
<div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
|
|
1424
|
+
<p>Use scp_put instead.</p>
|
|
1425
|
+
</div></div>
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
</div>
|
|
1429
|
+
</div>
|
|
1430
|
+
<div class="tags">
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
</div><table class="source_code">
|
|
1434
|
+
<tr>
|
|
1435
|
+
<td>
|
|
1436
|
+
<pre class="lines">
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
325
|
|
1440
|
+
326
|
|
1441
|
+
327
|
|
1442
|
+
328</pre>
|
|
1443
|
+
</td>
|
|
1444
|
+
<td>
|
|
1445
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 325</span>
|
|
1446
|
+
|
|
1447
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_ul'>scp_ul</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1448
|
+
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[DEPRECATION] Net::SSH::Simple.scp_ul is deprecated. Please use .scp_put instead (usage is identical, the method was only renamed).</span><span class='tstring_end'>"</span></span>
|
|
1449
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1450
|
+
<span class='kw'>end</span></pre>
|
|
1451
|
+
</td>
|
|
1452
|
+
</tr>
|
|
1453
|
+
</table>
|
|
1454
|
+
</div>
|
|
1455
|
+
|
|
1456
|
+
<div class="method_details ">
|
|
1457
|
+
<h3 class="signature " id="ssh-class_method">
|
|
1458
|
+
|
|
1459
|
+
+ (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>ssh</strong>(*args, &block)
|
|
1460
|
+
|
|
1461
|
+
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
</h3><div class="docstring">
|
|
1466
|
+
<div class="discussion">
|
|
1467
|
+
|
|
1468
|
+
<p>Perform ssh command on a remote host and capture the result. This will
|
|
1469
|
+
create a new connection for each invocation.</p>
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
</div>
|
|
1473
|
+
</div>
|
|
1474
|
+
<div class="tags">
|
|
1475
|
+
|
|
1476
|
+
<div class="examples">
|
|
1477
|
+
<p class="tag_title">Examples:</p>
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
<pre class="example code"><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo Hello</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='comment'>#=> Net::SSH::Simple::Result</span></pre>
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
<pre class="example code"><span class='const'>Net</span><span class='op'>::</span><span class='const'>SSH</span><span class='op'>::</span><span class='const'>Simple</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>localhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>echo Hello</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_stdout'>stdout</span> <span class='comment'>#=> "Hello"</span></pre>
|
|
1484
|
+
|
|
1485
|
+
</div>
|
|
1486
|
+
<p class="tag_title">Parameters:</p>
|
|
1487
|
+
<ul class="param">
|
|
1488
|
+
|
|
1489
|
+
<li>
|
|
1490
|
+
|
|
1491
|
+
<span class='name'>host</span>
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
—
|
|
1499
|
+
<div class='inline'>
|
|
1500
|
+
<p>Destination hostname or ip-address</p>
|
|
1501
|
+
</div>
|
|
1502
|
+
|
|
1503
|
+
</li>
|
|
1504
|
+
|
|
1505
|
+
<li>
|
|
1506
|
+
|
|
1507
|
+
<span class='name'>cmd</span>
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1511
|
+
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
—
|
|
1515
|
+
<div class='inline'>
|
|
1516
|
+
<p>Shell command to execute</p>
|
|
1517
|
+
</div>
|
|
1518
|
+
|
|
1519
|
+
</li>
|
|
1520
|
+
|
|
1521
|
+
<li>
|
|
1522
|
+
|
|
1523
|
+
<span class='name'>block</span>
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
—
|
|
1531
|
+
<div class='inline'>
|
|
1532
|
+
<p>Use the event-API (see example above)</p>
|
|
1533
|
+
</div>
|
|
1534
|
+
|
|
1535
|
+
</li>
|
|
1536
|
+
|
|
1537
|
+
<li>
|
|
1538
|
+
|
|
1539
|
+
<span class='name'>opts</span>
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
—
|
|
1547
|
+
<div class='inline'>
|
|
1548
|
+
<p>SSH options</p>
|
|
1549
|
+
</div>
|
|
1550
|
+
|
|
1551
|
+
</li>
|
|
1552
|
+
|
|
1553
|
+
</ul>
|
|
1554
|
+
|
|
1555
|
+
<p class="tag_title">Returns:</p>
|
|
1556
|
+
<ul class="return">
|
|
1557
|
+
|
|
1558
|
+
<li>
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
—
|
|
1566
|
+
<div class='inline'>
|
|
1567
|
+
<p>Result</p>
|
|
1568
|
+
</div>
|
|
1569
|
+
|
|
1570
|
+
</li>
|
|
1571
|
+
|
|
1572
|
+
</ul>
|
|
1573
|
+
<p class="tag_title">Raises:</p>
|
|
1574
|
+
<ul class="raise">
|
|
1575
|
+
|
|
1576
|
+
<li>
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Error.html" title="Net::SSH::Simple::Error (class)">Net::SSH::Simple::Error</a></span></tt>)</span>
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
</li>
|
|
1584
|
+
|
|
1585
|
+
</ul>
|
|
1586
|
+
|
|
1587
|
+
</div><table class="source_code">
|
|
1588
|
+
<tr>
|
|
1589
|
+
<td>
|
|
1590
|
+
<pre class="lines">
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
268
|
|
1594
|
+
269
|
|
1595
|
+
270
|
|
1596
|
+
271
|
|
1597
|
+
272
|
|
1598
|
+
273</pre>
|
|
1599
|
+
</td>
|
|
1600
|
+
<td>
|
|
1601
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 268</span>
|
|
1602
|
+
|
|
1603
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1604
|
+
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
1605
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1606
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
|
1607
|
+
<span class='id identifier rubyid_r'>r</span>
|
|
1608
|
+
<span class='kw'>end</span></pre>
|
|
1609
|
+
</td>
|
|
1610
|
+
</tr>
|
|
1611
|
+
</table>
|
|
1612
|
+
</div>
|
|
1613
|
+
|
|
1614
|
+
<div class="method_details ">
|
|
1615
|
+
<h3 class="signature " id="sync-class_method">
|
|
1616
|
+
|
|
1617
|
+
+ (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>sync</strong>(opts = {}, &block)
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
|
|
1623
|
+
</h3><div class="docstring">
|
|
1624
|
+
<div class="discussion">
|
|
1625
|
+
|
|
1626
|
+
<p>Perform a sequence of ssh/scp operations.</p>
|
|
1627
|
+
|
|
1628
|
+
|
|
1629
|
+
</div>
|
|
1630
|
+
</div>
|
|
1631
|
+
<div class="tags">
|
|
1632
|
+
<p class="tag_title">Parameters:</p>
|
|
1633
|
+
<ul class="param">
|
|
1634
|
+
|
|
1635
|
+
<li>
|
|
1636
|
+
|
|
1637
|
+
<span class='name'>opts</span>
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
—
|
|
1647
|
+
<div class='inline'>
|
|
1648
|
+
<p>SSH options</p>
|
|
1649
|
+
</div>
|
|
1650
|
+
|
|
1651
|
+
</li>
|
|
1652
|
+
|
|
1653
|
+
</ul>
|
|
1654
|
+
|
|
1655
|
+
<p class="tag_title">Returns:</p>
|
|
1656
|
+
<ul class="return">
|
|
1657
|
+
|
|
1658
|
+
<li>
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
—
|
|
1666
|
+
<div class='inline'>
|
|
1667
|
+
<p>Result</p>
|
|
1668
|
+
</div>
|
|
1669
|
+
|
|
1670
|
+
</li>
|
|
1671
|
+
|
|
1672
|
+
</ul>
|
|
1673
|
+
|
|
1674
|
+
</div><table class="source_code">
|
|
1675
|
+
<tr>
|
|
1676
|
+
<td>
|
|
1677
|
+
<pre class="lines">
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
599
|
|
1681
|
+
600
|
|
1682
|
+
601
|
|
1683
|
+
602
|
|
1684
|
+
603
|
|
1685
|
+
604</pre>
|
|
1686
|
+
</td>
|
|
1687
|
+
<td>
|
|
1688
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 599</span>
|
|
1689
|
+
|
|
1690
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_sync'>sync</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1691
|
+
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
1692
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='const'>Blockenspiel</span><span class='period'>.</span><span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='id identifier rubyid_s'>s</span><span class='rparen'>)</span>
|
|
1693
|
+
<span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span>
|
|
1694
|
+
<span class='id identifier rubyid_r'>r</span>
|
|
1695
|
+
<span class='kw'>end</span></pre>
|
|
1696
|
+
</td>
|
|
1697
|
+
</tr>
|
|
1698
|
+
</table>
|
|
1699
|
+
</div>
|
|
1700
|
+
|
|
1701
|
+
</div>
|
|
1702
|
+
|
|
1703
|
+
<div id="instance_method_details" class="method_details_list">
|
|
1704
|
+
<h2>Instance Method Details</h2>
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
<div class="method_details first">
|
|
1708
|
+
<h3 class="signature first" id="async-instance_method">
|
|
1709
|
+
|
|
1710
|
+
- (<tt>Thread</tt>) <strong>async</strong>(opts = {}, &block)
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
</h3><div class="docstring">
|
|
1717
|
+
<div class="discussion">
|
|
1718
|
+
|
|
1719
|
+
<p>Spawn a Thread to perform a sequence of ssh/scp operations.</p>
|
|
1720
|
+
|
|
1721
|
+
|
|
1722
|
+
</div>
|
|
1723
|
+
</div>
|
|
1724
|
+
<div class="tags">
|
|
1725
|
+
<p class="tag_title">Parameters:</p>
|
|
1726
|
+
<ul class="param">
|
|
1727
|
+
|
|
1728
|
+
<li>
|
|
1729
|
+
|
|
1730
|
+
<span class='name'>block</span>
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
1734
|
+
|
|
1735
|
+
|
|
1736
|
+
|
|
1737
|
+
</li>
|
|
1738
|
+
|
|
1739
|
+
<li>
|
|
1740
|
+
|
|
1741
|
+
<span class='name'>opts</span>
|
|
1742
|
+
|
|
1743
|
+
|
|
1744
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
—
|
|
1751
|
+
<div class='inline'>
|
|
1752
|
+
<p>SSH options</p>
|
|
1753
|
+
</div>
|
|
1754
|
+
|
|
1755
|
+
</li>
|
|
1756
|
+
|
|
1757
|
+
</ul>
|
|
1758
|
+
|
|
1759
|
+
<p class="tag_title">Returns:</p>
|
|
1760
|
+
<ul class="return">
|
|
1761
|
+
|
|
1762
|
+
<li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
<span class='type'>(<tt>Thread</tt>)</span>
|
|
1766
|
+
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
—
|
|
1770
|
+
<div class='inline'>
|
|
1771
|
+
<p>Thread executing the SSH-Block.</p>
|
|
1772
|
+
</div>
|
|
1773
|
+
|
|
1774
|
+
</li>
|
|
1775
|
+
|
|
1776
|
+
</ul>
|
|
1777
|
+
|
|
1778
|
+
</div><table class="source_code">
|
|
1779
|
+
<tr>
|
|
1780
|
+
<td>
|
|
1781
|
+
<pre class="lines">
|
|
1782
|
+
|
|
1783
|
+
|
|
1784
|
+
588
|
|
1785
|
+
589
|
|
1786
|
+
590
|
|
1787
|
+
591</pre>
|
|
1788
|
+
</td>
|
|
1789
|
+
<td>
|
|
1790
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 588</span>
|
|
1791
|
+
|
|
1792
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_async'>async</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1793
|
+
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='ivar'>@opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
1794
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_async'>async</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1795
|
+
<span class='kw'>end</span></pre>
|
|
1796
|
+
</td>
|
|
1797
|
+
</tr>
|
|
1798
|
+
</table>
|
|
1799
|
+
</div>
|
|
1800
|
+
|
|
1801
|
+
<div class="method_details ">
|
|
1802
|
+
<h3 class="signature " id="close-instance_method">
|
|
1803
|
+
|
|
1804
|
+
- (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>close</strong>
|
|
1805
|
+
|
|
1806
|
+
|
|
1807
|
+
|
|
1808
|
+
|
|
1809
|
+
|
|
1810
|
+
</h3><div class="docstring">
|
|
1811
|
+
<div class="discussion">
|
|
1812
|
+
|
|
1813
|
+
<p>Close and cleanup.</p>
|
|
1814
|
+
|
|
1815
|
+
|
|
1816
|
+
</div>
|
|
1817
|
+
</div>
|
|
1818
|
+
<div class="tags">
|
|
1819
|
+
|
|
1820
|
+
<p class="tag_title">Returns:</p>
|
|
1821
|
+
<ul class="return">
|
|
1822
|
+
|
|
1823
|
+
<li>
|
|
1824
|
+
|
|
1825
|
+
|
|
1826
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
—
|
|
1831
|
+
<div class='inline'>
|
|
1832
|
+
<p>Result</p>
|
|
1833
|
+
</div>
|
|
1834
|
+
|
|
1835
|
+
</li>
|
|
1836
|
+
|
|
1837
|
+
</ul>
|
|
1838
|
+
|
|
1839
|
+
</div><table class="source_code">
|
|
1840
|
+
<tr>
|
|
1841
|
+
<td>
|
|
1842
|
+
<pre class="lines">
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
611
|
|
1846
|
+
612
|
|
1847
|
+
613
|
|
1848
|
+
614
|
|
1849
|
+
615
|
|
1850
|
+
616
|
|
1851
|
+
617
|
|
1852
|
+
618
|
|
1853
|
+
619
|
|
1854
|
+
620
|
|
1855
|
+
621
|
|
1856
|
+
622
|
|
1857
|
+
623</pre>
|
|
1858
|
+
</td>
|
|
1859
|
+
<td>
|
|
1860
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 611</span>
|
|
1861
|
+
|
|
1862
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_close'>close</span>
|
|
1863
|
+
<span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span><span class='lbracket'>[</span><span class='symbol'>:ssh_simple_sessions</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_session'>session</span><span class='op'>|</span>
|
|
1864
|
+
<span class='kw'>begin</span>
|
|
1865
|
+
<span class='const'>Timeout</span><span class='period'>.</span><span class='id identifier rubyid_timeout'>timeout</span><span class='lparen'>(</span><span class='ivar'>@opts</span><span class='lbracket'>[</span><span class='symbol'>:close_timeout</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='int'>5</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
|
|
1866
|
+
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
|
1867
|
+
<span class='kw'>begin</span>
|
|
1868
|
+
<span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_shutdown!'>shutdown!</span>
|
|
1869
|
+
<span class='kw'>rescue</span>
|
|
1870
|
+
<span class='kw'>end</span>
|
|
1871
|
+
<span class='kw'>end</span>
|
|
1872
|
+
<span class='kw'>end</span>
|
|
1873
|
+
<span class='ivar'>@result</span>
|
|
1874
|
+
<span class='kw'>end</span></pre>
|
|
1875
|
+
</td>
|
|
1876
|
+
</tr>
|
|
1877
|
+
</table>
|
|
1878
|
+
</div>
|
|
1879
|
+
|
|
1880
|
+
<div class="method_details ">
|
|
1881
|
+
<h3 class="signature " id="scp_dl-instance_method">
|
|
1882
|
+
|
|
1883
|
+
- (<tt>Object</tt>) <strong>scp_dl</strong>(host, src, dst, opts = {}, &block)
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
|
|
1889
|
+
</h3><div class="docstring">
|
|
1890
|
+
<div class="discussion">
|
|
1891
|
+
<div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
|
|
1892
|
+
<p>Use scp_get instead.</p>
|
|
1893
|
+
</div></div>
|
|
1894
|
+
|
|
1895
|
+
|
|
1896
|
+
</div>
|
|
1897
|
+
</div>
|
|
1898
|
+
<div class="tags">
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
</div><table class="source_code">
|
|
1902
|
+
<tr>
|
|
1903
|
+
<td>
|
|
1904
|
+
<pre class="lines">
|
|
1905
|
+
|
|
1906
|
+
|
|
1907
|
+
378
|
|
1908
|
+
379
|
|
1909
|
+
380
|
|
1910
|
+
381</pre>
|
|
1911
|
+
</td>
|
|
1912
|
+
<td>
|
|
1913
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 378</span>
|
|
1914
|
+
|
|
1915
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_scp_dl'>scp_dl</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1916
|
+
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[DEPRECATION] Net::SSH::Simple#scp_dl is deprecated. Please use #scp_get instead (usage is identical, the method was only renamed).</span><span class='tstring_end'>"</span></span>
|
|
1917
|
+
<span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
1918
|
+
<span class='kw'>end</span></pre>
|
|
1919
|
+
</td>
|
|
1920
|
+
</tr>
|
|
1921
|
+
</table>
|
|
1922
|
+
</div>
|
|
1923
|
+
|
|
1924
|
+
<div class="method_details ">
|
|
1925
|
+
<h3 class="signature " id="scp_get-instance_method">
|
|
1926
|
+
|
|
1927
|
+
- (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>scp_get</strong>(host, src, dst, opts = {}, &block)
|
|
1928
|
+
|
|
1929
|
+
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
</h3><div class="docstring">
|
|
1934
|
+
<div class="discussion">
|
|
1935
|
+
|
|
1936
|
+
<p>SCP download from a remote host. The underlying Net::SSH::Simple instance
|
|
1937
|
+
will re-use existing connections for optimal performance.</p>
|
|
1938
|
+
|
|
1939
|
+
|
|
1940
|
+
</div>
|
|
1941
|
+
</div>
|
|
1942
|
+
<div class="tags">
|
|
1943
|
+
<p class="tag_title">Parameters:</p>
|
|
1944
|
+
<ul class="param">
|
|
1945
|
+
|
|
1946
|
+
<li>
|
|
1947
|
+
|
|
1948
|
+
<span class='name'>host</span>
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1952
|
+
|
|
1953
|
+
|
|
1954
|
+
|
|
1955
|
+
—
|
|
1956
|
+
<div class='inline'>
|
|
1957
|
+
<p>Destination hostname or ip-address</p>
|
|
1958
|
+
</div>
|
|
1959
|
+
|
|
1960
|
+
</li>
|
|
1961
|
+
|
|
1962
|
+
<li>
|
|
1963
|
+
|
|
1964
|
+
<span class='name'>src</span>
|
|
1965
|
+
|
|
1966
|
+
|
|
1967
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
—
|
|
1972
|
+
<div class='inline'>
|
|
1973
|
+
<p>Source path (on remote host)</p>
|
|
1974
|
+
</div>
|
|
1975
|
+
|
|
1976
|
+
</li>
|
|
1977
|
+
|
|
1978
|
+
<li>
|
|
1979
|
+
|
|
1980
|
+
<span class='name'>dst</span>
|
|
1981
|
+
|
|
1982
|
+
|
|
1983
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
—
|
|
1988
|
+
<div class='inline'>
|
|
1989
|
+
<p>Destination path (on localhost)</p>
|
|
1990
|
+
</div>
|
|
1991
|
+
|
|
1992
|
+
</li>
|
|
1993
|
+
|
|
1994
|
+
<li>
|
|
1995
|
+
|
|
1996
|
+
<span class='name'>block</span>
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
—
|
|
2004
|
+
<div class='inline'>
|
|
2005
|
+
<p>Progress callback (optional)</p>
|
|
2006
|
+
</div>
|
|
2007
|
+
|
|
2008
|
+
</li>
|
|
2009
|
+
|
|
2010
|
+
<li>
|
|
2011
|
+
|
|
2012
|
+
<span class='name'>opts</span>
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
2016
|
+
|
|
2017
|
+
|
|
2018
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
2019
|
+
|
|
2020
|
+
|
|
2021
|
+
—
|
|
2022
|
+
<div class='inline'>
|
|
2023
|
+
<p>SSH options</p>
|
|
2024
|
+
</div>
|
|
2025
|
+
|
|
2026
|
+
</li>
|
|
2027
|
+
|
|
2028
|
+
</ul>
|
|
2029
|
+
|
|
2030
|
+
<p class="tag_title">Returns:</p>
|
|
2031
|
+
<ul class="return">
|
|
2032
|
+
|
|
2033
|
+
<li>
|
|
2034
|
+
|
|
2035
|
+
|
|
2036
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
2037
|
+
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
—
|
|
2041
|
+
<div class='inline'>
|
|
2042
|
+
<p>Result</p>
|
|
2043
|
+
</div>
|
|
2044
|
+
|
|
2045
|
+
</li>
|
|
2046
|
+
|
|
2047
|
+
</ul>
|
|
2048
|
+
|
|
2049
|
+
<p class="tag_title">See Also:</p>
|
|
2050
|
+
<ul class="see">
|
|
2051
|
+
|
|
2052
|
+
<li><span class='object_link'><a href="#scp_put-instance_method" title="Net::SSH::Simple#scp_put (method)">#scp_put</a></span></li>
|
|
2053
|
+
|
|
2054
|
+
</ul>
|
|
2055
|
+
|
|
2056
|
+
</div><table class="source_code">
|
|
2057
|
+
<tr>
|
|
2058
|
+
<td>
|
|
2059
|
+
<pre class="lines">
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
366
|
|
2063
|
+
367
|
|
2064
|
+
368
|
|
2065
|
+
369</pre>
|
|
2066
|
+
</td>
|
|
2067
|
+
<td>
|
|
2068
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 366</span>
|
|
2069
|
+
|
|
2070
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_scp_get'>scp_get</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2071
|
+
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='ivar'>@opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
2072
|
+
<span class='id identifier rubyid_scp'>scp</span><span class='lparen'>(</span><span class='symbol'>:download</span><span class='comma'>,</span> <span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2073
|
+
<span class='kw'>end</span></pre>
|
|
2074
|
+
</td>
|
|
2075
|
+
</tr>
|
|
2076
|
+
</table>
|
|
2077
|
+
</div>
|
|
2078
|
+
|
|
2079
|
+
<div class="method_details ">
|
|
2080
|
+
<h3 class="signature " id="scp_put-instance_method">
|
|
2081
|
+
|
|
2082
|
+
- (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>scp_put</strong>(host, src, dst, opts = {}, &block)
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
|
|
2087
|
+
|
|
2088
|
+
</h3><div class="docstring">
|
|
2089
|
+
<div class="discussion">
|
|
2090
|
+
|
|
2091
|
+
<p>SCP upload to a remote host. The underlying Net::SSH::Simple instance will
|
|
2092
|
+
re-use existing connections for optimal performance.</p>
|
|
2093
|
+
|
|
2094
|
+
|
|
2095
|
+
</div>
|
|
2096
|
+
</div>
|
|
2097
|
+
<div class="tags">
|
|
2098
|
+
<p class="tag_title">Parameters:</p>
|
|
2099
|
+
<ul class="param">
|
|
2100
|
+
|
|
2101
|
+
<li>
|
|
2102
|
+
|
|
2103
|
+
<span class='name'>host</span>
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
—
|
|
2111
|
+
<div class='inline'>
|
|
2112
|
+
<p>Destination hostname or ip-address</p>
|
|
2113
|
+
</div>
|
|
2114
|
+
|
|
2115
|
+
</li>
|
|
2116
|
+
|
|
2117
|
+
<li>
|
|
2118
|
+
|
|
2119
|
+
<span class='name'>src</span>
|
|
2120
|
+
|
|
2121
|
+
|
|
2122
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
|
|
2126
|
+
—
|
|
2127
|
+
<div class='inline'>
|
|
2128
|
+
<p>Source path (on localhost)</p>
|
|
2129
|
+
</div>
|
|
2130
|
+
|
|
2131
|
+
</li>
|
|
2132
|
+
|
|
2133
|
+
<li>
|
|
2134
|
+
|
|
2135
|
+
<span class='name'>dst</span>
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
|
|
2142
|
+
—
|
|
2143
|
+
<div class='inline'>
|
|
2144
|
+
<p>Destination path (on remote host)</p>
|
|
2145
|
+
</div>
|
|
2146
|
+
|
|
2147
|
+
</li>
|
|
2148
|
+
|
|
2149
|
+
<li>
|
|
2150
|
+
|
|
2151
|
+
<span class='name'>block</span>
|
|
2152
|
+
|
|
2153
|
+
|
|
2154
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
2155
|
+
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
—
|
|
2159
|
+
<div class='inline'>
|
|
2160
|
+
<p>Progress callback (optional)</p>
|
|
2161
|
+
</div>
|
|
2162
|
+
|
|
2163
|
+
</li>
|
|
2164
|
+
|
|
2165
|
+
<li>
|
|
2166
|
+
|
|
2167
|
+
<span class='name'>opts</span>
|
|
2168
|
+
|
|
2169
|
+
|
|
2170
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
2174
|
+
|
|
2175
|
+
|
|
2176
|
+
—
|
|
2177
|
+
<div class='inline'>
|
|
2178
|
+
<p>SSH options</p>
|
|
2179
|
+
</div>
|
|
2180
|
+
|
|
2181
|
+
</li>
|
|
2182
|
+
|
|
2183
|
+
</ul>
|
|
2184
|
+
|
|
2185
|
+
<p class="tag_title">Returns:</p>
|
|
2186
|
+
<ul class="return">
|
|
2187
|
+
|
|
2188
|
+
<li>
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
—
|
|
2196
|
+
<div class='inline'>
|
|
2197
|
+
<p>Result</p>
|
|
2198
|
+
</div>
|
|
2199
|
+
|
|
2200
|
+
</li>
|
|
2201
|
+
|
|
2202
|
+
</ul>
|
|
2203
|
+
|
|
2204
|
+
</div><table class="source_code">
|
|
2205
|
+
<tr>
|
|
2206
|
+
<td>
|
|
2207
|
+
<pre class="lines">
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
348
|
|
2211
|
+
349
|
|
2212
|
+
350
|
|
2213
|
+
351</pre>
|
|
2214
|
+
</td>
|
|
2215
|
+
<td>
|
|
2216
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 348</span>
|
|
2217
|
+
|
|
2218
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2219
|
+
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='ivar'>@opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
2220
|
+
<span class='id identifier rubyid_scp'>scp</span><span class='lparen'>(</span><span class='symbol'>:upload</span><span class='comma'>,</span> <span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2221
|
+
<span class='kw'>end</span></pre>
|
|
2222
|
+
</td>
|
|
2223
|
+
</tr>
|
|
2224
|
+
</table>
|
|
2225
|
+
</div>
|
|
2226
|
+
|
|
2227
|
+
<div class="method_details ">
|
|
2228
|
+
<h3 class="signature " id="scp_ul-instance_method">
|
|
2229
|
+
|
|
2230
|
+
- (<tt>Object</tt>) <strong>scp_ul</strong>(host, src, dst, opts = {}, &block)
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
|
|
2234
|
+
|
|
2235
|
+
|
|
2236
|
+
</h3><div class="docstring">
|
|
2237
|
+
<div class="discussion">
|
|
2238
|
+
<div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
|
|
2239
|
+
<p>Use scp_put instead.</p>
|
|
2240
|
+
</div></div>
|
|
2241
|
+
|
|
2242
|
+
|
|
2243
|
+
</div>
|
|
2244
|
+
</div>
|
|
2245
|
+
<div class="tags">
|
|
2246
|
+
|
|
2247
|
+
|
|
2248
|
+
</div><table class="source_code">
|
|
2249
|
+
<tr>
|
|
2250
|
+
<td>
|
|
2251
|
+
<pre class="lines">
|
|
2252
|
+
|
|
2253
|
+
|
|
2254
|
+
372
|
|
2255
|
+
373
|
|
2256
|
+
374
|
|
2257
|
+
375</pre>
|
|
2258
|
+
</td>
|
|
2259
|
+
<td>
|
|
2260
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 372</span>
|
|
2261
|
+
|
|
2262
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_scp_ul'>scp_ul</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2263
|
+
<span class='id identifier rubyid_warn'>warn</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[DEPRECATION] Net::SSH::Simple#scp_ul is deprecated. Please use #scp_put instead (usage is identical, the method was only renamed).</span><span class='tstring_end'>"</span></span>
|
|
2264
|
+
<span class='id identifier rubyid_scp_put'>scp_put</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='comma'>,</span> <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2265
|
+
<span class='kw'>end</span></pre>
|
|
2266
|
+
</td>
|
|
2267
|
+
</tr>
|
|
2268
|
+
</table>
|
|
2269
|
+
</div>
|
|
2270
|
+
|
|
2271
|
+
<div class="method_details ">
|
|
2272
|
+
<h3 class="signature " id="ssh-instance_method">
|
|
2273
|
+
|
|
2274
|
+
- (<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>) <strong>ssh</strong>(host, cmd, opts = {}, &block)
|
|
2275
|
+
|
|
2276
|
+
|
|
2277
|
+
|
|
2278
|
+
|
|
2279
|
+
|
|
2280
|
+
</h3><div class="docstring">
|
|
2281
|
+
<div class="discussion">
|
|
2282
|
+
|
|
2283
|
+
<p>Perform SSH operation on a remote host and capture the result. The
|
|
2284
|
+
underlying Net::SSH::Simple instance will re-use existing connections for
|
|
2285
|
+
optimal performance.</p>
|
|
2286
|
+
|
|
2287
|
+
|
|
2288
|
+
</div>
|
|
2289
|
+
</div>
|
|
2290
|
+
<div class="tags">
|
|
2291
|
+
<p class="tag_title">Parameters:</p>
|
|
2292
|
+
<ul class="param">
|
|
2293
|
+
|
|
2294
|
+
<li>
|
|
2295
|
+
|
|
2296
|
+
<span class='name'>host</span>
|
|
2297
|
+
|
|
2298
|
+
|
|
2299
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
2300
|
+
|
|
2301
|
+
|
|
2302
|
+
|
|
2303
|
+
—
|
|
2304
|
+
<div class='inline'>
|
|
2305
|
+
<p>Destination hostname or ip-address</p>
|
|
2306
|
+
</div>
|
|
2307
|
+
|
|
2308
|
+
</li>
|
|
2309
|
+
|
|
2310
|
+
<li>
|
|
2311
|
+
|
|
2312
|
+
<span class='name'>cmd</span>
|
|
2313
|
+
|
|
2314
|
+
|
|
2315
|
+
<span class='type'>(<tt>String</tt>)</span>
|
|
2316
|
+
|
|
2317
|
+
|
|
2318
|
+
|
|
2319
|
+
—
|
|
2320
|
+
<div class='inline'>
|
|
2321
|
+
<p>Shell command to execute</p>
|
|
2322
|
+
</div>
|
|
2323
|
+
|
|
2324
|
+
</li>
|
|
2325
|
+
|
|
2326
|
+
<li>
|
|
2327
|
+
|
|
2328
|
+
<span class='name'>block</span>
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
<span class='type'>(<tt>Block</tt>)</span>
|
|
2332
|
+
|
|
2333
|
+
|
|
2334
|
+
|
|
2335
|
+
—
|
|
2336
|
+
<div class='inline'>
|
|
2337
|
+
<p>Use the event-API (see example above)</p>
|
|
2338
|
+
</div>
|
|
2339
|
+
|
|
2340
|
+
</li>
|
|
2341
|
+
|
|
2342
|
+
<li>
|
|
2343
|
+
|
|
2344
|
+
<span class='name'>opts</span>
|
|
2345
|
+
|
|
2346
|
+
|
|
2347
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
2348
|
+
|
|
2349
|
+
|
|
2350
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
2351
|
+
|
|
2352
|
+
|
|
2353
|
+
—
|
|
2354
|
+
<div class='inline'>
|
|
2355
|
+
<p>SSH options</p>
|
|
2356
|
+
</div>
|
|
2357
|
+
|
|
2358
|
+
</li>
|
|
2359
|
+
|
|
2360
|
+
</ul>
|
|
2361
|
+
|
|
2362
|
+
|
|
2363
|
+
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
|
|
2367
|
+
|
|
2368
|
+
|
|
2369
|
+
<p class="tag_title">Options Hash (<tt>opts</tt>):</p>
|
|
2370
|
+
<ul class="option">
|
|
2371
|
+
|
|
2372
|
+
<li>
|
|
2373
|
+
<span class="name">:auth_methods</span>
|
|
2374
|
+
<span class="type">(<tt>Array</tt>)</span>
|
|
2375
|
+
<span class="default">
|
|
2376
|
+
|
|
2377
|
+
</span>
|
|
2378
|
+
|
|
2379
|
+
— <div class='inline'>
|
|
2380
|
+
<p>an array of authentication methods to try</p>
|
|
2381
|
+
</div>
|
|
2382
|
+
|
|
2383
|
+
</li>
|
|
2384
|
+
|
|
2385
|
+
<li>
|
|
2386
|
+
<span class="name">:compression</span>
|
|
2387
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2388
|
+
<span class="default">
|
|
2389
|
+
|
|
2390
|
+
</span>
|
|
2391
|
+
|
|
2392
|
+
— <div class='inline'>
|
|
2393
|
+
<p>the compression algorithm to use, or true to use whatever is supported.</p>
|
|
2394
|
+
</div>
|
|
2395
|
+
|
|
2396
|
+
</li>
|
|
2397
|
+
|
|
2398
|
+
<li>
|
|
2399
|
+
<span class="name">:compression_level</span>
|
|
2400
|
+
<span class="type">(<tt>Number</tt>)</span>
|
|
2401
|
+
<span class="default">
|
|
2402
|
+
|
|
2403
|
+
</span>
|
|
2404
|
+
|
|
2405
|
+
— <div class='inline'>
|
|
2406
|
+
<p>the compression level to use when sending data</p>
|
|
2407
|
+
</div>
|
|
2408
|
+
|
|
2409
|
+
</li>
|
|
2410
|
+
|
|
2411
|
+
<li>
|
|
2412
|
+
<span class="name">:opts</span>
|
|
2413
|
+
<span class="type">(<tt>String/boolean</tt>)</span>
|
|
2414
|
+
<span class="default">
|
|
2415
|
+
|
|
2416
|
+
— default:
|
|
2417
|
+
<tt>true</tt>
|
|
2418
|
+
|
|
2419
|
+
</span>
|
|
2420
|
+
|
|
2421
|
+
— <div class='inline'>
|
|
2422
|
+
<p>set to true to load the default OpenSSH opts files (~/.ssh/opts,
|
|
2423
|
+
/etc/ssh_opts), or to false to not load them, or to a file-name (or array
|
|
2424
|
+
of file-names) to load those specific configuration files.</p>
|
|
2425
|
+
</div>
|
|
2426
|
+
|
|
2427
|
+
</li>
|
|
2428
|
+
|
|
2429
|
+
<li>
|
|
2430
|
+
<span class="name">:encryption</span>
|
|
2431
|
+
<span class="type">(<tt>Array</tt>)</span>
|
|
2432
|
+
<span class="default">
|
|
2433
|
+
|
|
2434
|
+
</span>
|
|
2435
|
+
|
|
2436
|
+
— <div class='inline'>
|
|
2437
|
+
<p>the encryption cipher (or ciphers) to use</p>
|
|
2438
|
+
</div>
|
|
2439
|
+
|
|
2440
|
+
</li>
|
|
2441
|
+
|
|
2442
|
+
<li>
|
|
2443
|
+
<span class="name">:forward_agent</span>
|
|
2444
|
+
<span class="type">(<tt>boolean</tt>)</span>
|
|
2445
|
+
<span class="default">
|
|
2446
|
+
|
|
2447
|
+
</span>
|
|
2448
|
+
|
|
2449
|
+
— <div class='inline'>
|
|
2450
|
+
<p>set to true if you want the SSH agent connection to be forwarded</p>
|
|
2451
|
+
</div>
|
|
2452
|
+
|
|
2453
|
+
</li>
|
|
2454
|
+
|
|
2455
|
+
<li>
|
|
2456
|
+
<span class="name">:global_known_hosts_file</span>
|
|
2457
|
+
<span class="type">(<tt>String/Array</tt>)</span>
|
|
2458
|
+
<span class="default">
|
|
2459
|
+
|
|
2460
|
+
— default:
|
|
2461
|
+
<tt>['/etc/ssh/known_hosts'</tt>, <tt>'/etc/ssh/known_hosts2']</tt>
|
|
2462
|
+
|
|
2463
|
+
</span>
|
|
2464
|
+
|
|
2465
|
+
— <div class='inline'>
|
|
2466
|
+
<p>the location of the global known hosts file. Set to an array if you want to
|
|
2467
|
+
specify multiple global known hosts files.</p>
|
|
2468
|
+
</div>
|
|
2469
|
+
|
|
2470
|
+
</li>
|
|
2471
|
+
|
|
2472
|
+
<li>
|
|
2473
|
+
<span class="name">:hmac</span>
|
|
2474
|
+
<span class="type">(<tt>String/Array</tt>)</span>
|
|
2475
|
+
<span class="default">
|
|
2476
|
+
|
|
2477
|
+
</span>
|
|
2478
|
+
|
|
2479
|
+
— <div class='inline'>
|
|
2480
|
+
<p>the hmac algorithm (or algorithms) to use</p>
|
|
2481
|
+
</div>
|
|
2482
|
+
|
|
2483
|
+
</li>
|
|
2484
|
+
|
|
2485
|
+
<li>
|
|
2486
|
+
<span class="name">:host_key</span>
|
|
2487
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2488
|
+
<span class="default">
|
|
2489
|
+
|
|
2490
|
+
</span>
|
|
2491
|
+
|
|
2492
|
+
— <div class='inline'>
|
|
2493
|
+
<p>the host key algorithm (or algorithms) to use</p>
|
|
2494
|
+
</div>
|
|
2495
|
+
|
|
2496
|
+
</li>
|
|
2497
|
+
|
|
2498
|
+
<li>
|
|
2499
|
+
<span class="name">:host_key_alias</span>
|
|
2500
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2501
|
+
<span class="default">
|
|
2502
|
+
|
|
2503
|
+
</span>
|
|
2504
|
+
|
|
2505
|
+
— <div class='inline'>
|
|
2506
|
+
<p>the host name to use when looking up or adding a host to a known_hosts
|
|
2507
|
+
dictionary file</p>
|
|
2508
|
+
</div>
|
|
2509
|
+
|
|
2510
|
+
</li>
|
|
2511
|
+
|
|
2512
|
+
<li>
|
|
2513
|
+
<span class="name">:host_name</span>
|
|
2514
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2515
|
+
<span class="default">
|
|
2516
|
+
|
|
2517
|
+
</span>
|
|
2518
|
+
|
|
2519
|
+
— <div class='inline'>
|
|
2520
|
+
<p>the real host name or IP to log into. This is used instead of the host
|
|
2521
|
+
parameter, and is primarily only useful when specified in an SSH
|
|
2522
|
+
configuration file. It lets you specify an alias, similarly to adding an
|
|
2523
|
+
entry in /etc/hosts but without needing to modify /etc/hosts.</p>
|
|
2524
|
+
</div>
|
|
2525
|
+
|
|
2526
|
+
</li>
|
|
2527
|
+
|
|
2528
|
+
<li>
|
|
2529
|
+
<span class="name">:kex</span>
|
|
2530
|
+
<span class="type">(<tt>String/Array</tt>)</span>
|
|
2531
|
+
<span class="default">
|
|
2532
|
+
|
|
2533
|
+
</span>
|
|
2534
|
+
|
|
2535
|
+
— <div class='inline'>
|
|
2536
|
+
<p>the key exchange algorithm (or algorithms) to use</p>
|
|
2537
|
+
</div>
|
|
2538
|
+
|
|
2539
|
+
</li>
|
|
2540
|
+
|
|
2541
|
+
<li>
|
|
2542
|
+
<span class="name">:keys</span>
|
|
2543
|
+
<span class="type">(<tt>Array</tt>)</span>
|
|
2544
|
+
<span class="default">
|
|
2545
|
+
|
|
2546
|
+
</span>
|
|
2547
|
+
|
|
2548
|
+
— <div class='inline'>
|
|
2549
|
+
<p>an array of file names of private keys to use for publickey and hostbased
|
|
2550
|
+
authentication</p>
|
|
2551
|
+
</div>
|
|
2552
|
+
|
|
2553
|
+
</li>
|
|
2554
|
+
|
|
2555
|
+
<li>
|
|
2556
|
+
<span class="name">:key_data</span>
|
|
2557
|
+
<span class="type">(<tt>Array</tt>)</span>
|
|
2558
|
+
<span class="default">
|
|
2559
|
+
|
|
2560
|
+
</span>
|
|
2561
|
+
|
|
2562
|
+
— <div class='inline'>
|
|
2563
|
+
<p>an array of strings, with each element of the array being a raw private key
|
|
2564
|
+
in PEM format.</p>
|
|
2565
|
+
</div>
|
|
2566
|
+
|
|
2567
|
+
</li>
|
|
2568
|
+
|
|
2569
|
+
<li>
|
|
2570
|
+
<span class="name">:keys_only</span>
|
|
2571
|
+
<span class="type">(<tt>boolean</tt>)</span>
|
|
2572
|
+
<span class="default">
|
|
2573
|
+
|
|
2574
|
+
</span>
|
|
2575
|
+
|
|
2576
|
+
— <div class='inline'>
|
|
2577
|
+
<p>set to true to use only private keys from keys and key_data parameters,
|
|
2578
|
+
even if ssh-agent offers more identities. This option is intended for
|
|
2579
|
+
situations where ssh-agent offers many different identites.</p>
|
|
2580
|
+
</div>
|
|
2581
|
+
|
|
2582
|
+
</li>
|
|
2583
|
+
|
|
2584
|
+
<li>
|
|
2585
|
+
<span class="name">:logger</span>
|
|
2586
|
+
<span class="type">(<tt>Logger</tt>)</span>
|
|
2587
|
+
<span class="default">
|
|
2588
|
+
|
|
2589
|
+
</span>
|
|
2590
|
+
|
|
2591
|
+
— <div class='inline'>
|
|
2592
|
+
<p>the logger instance to use when logging</p>
|
|
2593
|
+
</div>
|
|
2594
|
+
|
|
2595
|
+
</li>
|
|
2596
|
+
|
|
2597
|
+
<li>
|
|
2598
|
+
<span class="name">:paranoid</span>
|
|
2599
|
+
<span class="type">(<tt>boolean/:very</tt>)</span>
|
|
2600
|
+
<span class="default">
|
|
2601
|
+
|
|
2602
|
+
</span>
|
|
2603
|
+
|
|
2604
|
+
— <div class='inline'>
|
|
2605
|
+
<p>either true, false, or :very, specifying how strict host-key verification
|
|
2606
|
+
should be</p>
|
|
2607
|
+
</div>
|
|
2608
|
+
|
|
2609
|
+
</li>
|
|
2610
|
+
|
|
2611
|
+
<li>
|
|
2612
|
+
<span class="name">:passphrase</span>
|
|
2613
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2614
|
+
<span class="default">
|
|
2615
|
+
|
|
2616
|
+
— default:
|
|
2617
|
+
<tt>nil</tt>
|
|
2618
|
+
|
|
2619
|
+
</span>
|
|
2620
|
+
|
|
2621
|
+
— <div class='inline'>
|
|
2622
|
+
<p>the passphrase to use when loading a private key (default is nil, for no
|
|
2623
|
+
passphrase)</p>
|
|
2624
|
+
</div>
|
|
2625
|
+
|
|
2626
|
+
</li>
|
|
2627
|
+
|
|
2628
|
+
<li>
|
|
2629
|
+
<span class="name">:password</span>
|
|
2630
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2631
|
+
<span class="default">
|
|
2632
|
+
|
|
2633
|
+
</span>
|
|
2634
|
+
|
|
2635
|
+
— <div class='inline'>
|
|
2636
|
+
<p>the password to use to login</p>
|
|
2637
|
+
</div>
|
|
2638
|
+
|
|
2639
|
+
</li>
|
|
2640
|
+
|
|
2641
|
+
<li>
|
|
2642
|
+
<span class="name">:port</span>
|
|
2643
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2644
|
+
<span class="default">
|
|
2645
|
+
|
|
2646
|
+
</span>
|
|
2647
|
+
|
|
2648
|
+
— <div class='inline'>
|
|
2649
|
+
<p>the port to use when connecting to the remote host</p>
|
|
2650
|
+
</div>
|
|
2651
|
+
|
|
2652
|
+
</li>
|
|
2653
|
+
|
|
2654
|
+
<li>
|
|
2655
|
+
<span class="name">:properties</span>
|
|
2656
|
+
<span class="type">(<tt>Hash</tt>)</span>
|
|
2657
|
+
<span class="default">
|
|
2658
|
+
|
|
2659
|
+
</span>
|
|
2660
|
+
|
|
2661
|
+
— <div class='inline'>
|
|
2662
|
+
<p>a hash of key/value pairs to add to the new connection's properties (see
|
|
2663
|
+
Net::SSH::Connection::Session#properties)</p>
|
|
2664
|
+
</div>
|
|
2665
|
+
|
|
2666
|
+
</li>
|
|
2667
|
+
|
|
2668
|
+
<li>
|
|
2669
|
+
<span class="name">:proxy</span>
|
|
2670
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2671
|
+
<span class="default">
|
|
2672
|
+
|
|
2673
|
+
</span>
|
|
2674
|
+
|
|
2675
|
+
— <div class='inline'>
|
|
2676
|
+
<p>a proxy instance (see Proxy) to use when connecting</p>
|
|
2677
|
+
</div>
|
|
2678
|
+
|
|
2679
|
+
</li>
|
|
2680
|
+
|
|
2681
|
+
<li>
|
|
2682
|
+
<span class="name">:rekey_blocks_limit</span>
|
|
2683
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2684
|
+
<span class="default">
|
|
2685
|
+
|
|
2686
|
+
</span>
|
|
2687
|
+
|
|
2688
|
+
— <div class='inline'>
|
|
2689
|
+
<p>the max number of blocks to process before rekeying</p>
|
|
2690
|
+
</div>
|
|
2691
|
+
|
|
2692
|
+
</li>
|
|
2693
|
+
|
|
2694
|
+
<li>
|
|
2695
|
+
<span class="name">:rekey_limit</span>
|
|
2696
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2697
|
+
<span class="default">
|
|
2698
|
+
|
|
2699
|
+
</span>
|
|
2700
|
+
|
|
2701
|
+
— <div class='inline'>
|
|
2702
|
+
<p>the max number of bytes to process before rekeying</p>
|
|
2703
|
+
</div>
|
|
2704
|
+
|
|
2705
|
+
</li>
|
|
2706
|
+
|
|
2707
|
+
<li>
|
|
2708
|
+
<span class="name">:rekey_packet_limit</span>
|
|
2709
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2710
|
+
<span class="default">
|
|
2711
|
+
|
|
2712
|
+
</span>
|
|
2713
|
+
|
|
2714
|
+
— <div class='inline'>
|
|
2715
|
+
<p>the max number of packets to process before rekeying</p>
|
|
2716
|
+
</div>
|
|
2717
|
+
|
|
2718
|
+
</li>
|
|
2719
|
+
|
|
2720
|
+
<li>
|
|
2721
|
+
<span class="name">:timeout</span>
|
|
2722
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2723
|
+
<span class="default">
|
|
2724
|
+
|
|
2725
|
+
— default:
|
|
2726
|
+
<tt>60</tt>
|
|
2727
|
+
|
|
2728
|
+
</span>
|
|
2729
|
+
|
|
2730
|
+
— <div class='inline'>
|
|
2731
|
+
<p>maximum idle time before a connection will time out (0 = disable).</p>
|
|
2732
|
+
</div>
|
|
2733
|
+
|
|
2734
|
+
</li>
|
|
2735
|
+
|
|
2736
|
+
<li>
|
|
2737
|
+
<span class="name">:operation_timeout</span>
|
|
2738
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2739
|
+
<span class="default">
|
|
2740
|
+
|
|
2741
|
+
— default:
|
|
2742
|
+
<tt>3600</tt>
|
|
2743
|
+
|
|
2744
|
+
</span>
|
|
2745
|
+
|
|
2746
|
+
— <div class='inline'>
|
|
2747
|
+
<p>maximum time before aborting an operation (0 = disable). you may use this
|
|
2748
|
+
to guard against run-away processes.</p>
|
|
2749
|
+
</div>
|
|
2750
|
+
|
|
2751
|
+
</li>
|
|
2752
|
+
|
|
2753
|
+
<li>
|
|
2754
|
+
<span class="name">:keepalive_interval</span>
|
|
2755
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2756
|
+
<span class="default">
|
|
2757
|
+
|
|
2758
|
+
— default:
|
|
2759
|
+
<tt>60</tt>
|
|
2760
|
+
|
|
2761
|
+
</span>
|
|
2762
|
+
|
|
2763
|
+
— <div class='inline'>
|
|
2764
|
+
<p>send keep-alive probes at this interval to prevent connections from timing
|
|
2765
|
+
out unexpectedly.</p>
|
|
2766
|
+
</div>
|
|
2767
|
+
|
|
2768
|
+
</li>
|
|
2769
|
+
|
|
2770
|
+
<li>
|
|
2771
|
+
<span class="name">:close_timeout</span>
|
|
2772
|
+
<span class="type">(<tt>Integer</tt>)</span>
|
|
2773
|
+
<span class="default">
|
|
2774
|
+
|
|
2775
|
+
— default:
|
|
2776
|
+
<tt>5</tt>
|
|
2777
|
+
|
|
2778
|
+
</span>
|
|
2779
|
+
|
|
2780
|
+
— <div class='inline'>
|
|
2781
|
+
<p>grace-period on close before the connection will be terminated forcefully
|
|
2782
|
+
(0 = terminate immediately).</p>
|
|
2783
|
+
</div>
|
|
2784
|
+
|
|
2785
|
+
</li>
|
|
2786
|
+
|
|
2787
|
+
<li>
|
|
2788
|
+
<span class="name">:user</span>
|
|
2789
|
+
<span class="type">(<tt>String</tt>)</span>
|
|
2790
|
+
<span class="default">
|
|
2791
|
+
|
|
2792
|
+
</span>
|
|
2793
|
+
|
|
2794
|
+
— <div class='inline'>
|
|
2795
|
+
<p>the username to log in as</p>
|
|
2796
|
+
</div>
|
|
2797
|
+
|
|
2798
|
+
</li>
|
|
2799
|
+
|
|
2800
|
+
<li>
|
|
2801
|
+
<span class="name">:user_known_hosts_file</span>
|
|
2802
|
+
<span class="type">(<tt>String/Array</tt>)</span>
|
|
2803
|
+
<span class="default">
|
|
2804
|
+
|
|
2805
|
+
— default:
|
|
2806
|
+
<tt>['~/.ssh/known_hosts</tt>, <tt>~/.ssh/known_hosts2']</tt>
|
|
2807
|
+
|
|
2808
|
+
</span>
|
|
2809
|
+
|
|
2810
|
+
— <div class='inline'>
|
|
2811
|
+
<p>the location of the user known hosts file. Set to an array to specify
|
|
2812
|
+
multiple user known hosts files.</p>
|
|
2813
|
+
</div>
|
|
2814
|
+
|
|
2815
|
+
</li>
|
|
2816
|
+
|
|
2817
|
+
<li>
|
|
2818
|
+
<span class="name">:verbose</span>
|
|
2819
|
+
<span class="type">(<tt>Symbol</tt>)</span>
|
|
2820
|
+
<span class="default">
|
|
2821
|
+
|
|
2822
|
+
</span>
|
|
2823
|
+
|
|
2824
|
+
— <div class='inline'>
|
|
2825
|
+
<p>how verbose to be (Logger verbosity constants, Logger::DEBUG is very
|
|
2826
|
+
verbose, Logger::FATAL is all but silent). Logger::FATAL is the default.
|
|
2827
|
+
The symbols :debug, :info, :warn, :error, and :fatal are also supported and
|
|
2828
|
+
are translated to the corresponding Logger constant.</p>
|
|
2829
|
+
</div>
|
|
2830
|
+
|
|
2831
|
+
</li>
|
|
2832
|
+
|
|
2833
|
+
</ul>
|
|
2834
|
+
|
|
2835
|
+
|
|
2836
|
+
|
|
2837
|
+
|
|
2838
|
+
<p class="tag_title">Returns:</p>
|
|
2839
|
+
<ul class="return">
|
|
2840
|
+
|
|
2841
|
+
<li>
|
|
2842
|
+
|
|
2843
|
+
|
|
2844
|
+
<span class='type'>(<tt><span class='object_link'><a href="Simple/Result.html" title="Net::SSH::Simple::Result (class)">Net::SSH::Simple::Result</a></span></tt>)</span>
|
|
2845
|
+
|
|
2846
|
+
|
|
2847
|
+
|
|
2848
|
+
—
|
|
2849
|
+
<div class='inline'>
|
|
2850
|
+
<p>Result</p>
|
|
2851
|
+
</div>
|
|
2852
|
+
|
|
2853
|
+
</li>
|
|
2854
|
+
|
|
2855
|
+
</ul>
|
|
2856
|
+
|
|
2857
|
+
<p class="tag_title">See Also:</p>
|
|
2858
|
+
<ul class="see">
|
|
2859
|
+
|
|
2860
|
+
<li><a href="http://net-ssh.github.com/ssh/v2/api/classes/Net/SSH.html#M000002" target="_parent" title="Net::SSH documentation for the 'opts'-hash">Net::SSH documentation for the 'opts'-hash</a></li>
|
|
2861
|
+
|
|
2862
|
+
</ul>
|
|
2863
|
+
|
|
2864
|
+
</div><table class="source_code">
|
|
2865
|
+
<tr>
|
|
2866
|
+
<td>
|
|
2867
|
+
<pre class="lines">
|
|
2868
|
+
|
|
2869
|
+
|
|
2870
|
+
512
|
|
2871
|
+
513
|
|
2872
|
+
514
|
|
2873
|
+
515
|
|
2874
|
+
516
|
|
2875
|
+
517
|
|
2876
|
+
518
|
|
2877
|
+
519
|
|
2878
|
+
520
|
|
2879
|
+
521
|
|
2880
|
+
522
|
|
2881
|
+
523
|
|
2882
|
+
524
|
|
2883
|
+
525
|
|
2884
|
+
526
|
|
2885
|
+
527
|
|
2886
|
+
528
|
|
2887
|
+
529
|
|
2888
|
+
530
|
|
2889
|
+
531
|
|
2890
|
+
532
|
|
2891
|
+
533
|
|
2892
|
+
534
|
|
2893
|
+
535
|
|
2894
|
+
536
|
|
2895
|
+
537
|
|
2896
|
+
538
|
|
2897
|
+
539
|
|
2898
|
+
540
|
|
2899
|
+
541
|
|
2900
|
+
542
|
|
2901
|
+
543
|
|
2902
|
+
544
|
|
2903
|
+
545
|
|
2904
|
+
546
|
|
2905
|
+
547
|
|
2906
|
+
548
|
|
2907
|
+
549
|
|
2908
|
+
550
|
|
2909
|
+
551
|
|
2910
|
+
552
|
|
2911
|
+
553
|
|
2912
|
+
554
|
|
2913
|
+
555
|
|
2914
|
+
556
|
|
2915
|
+
557
|
|
2916
|
+
558</pre>
|
|
2917
|
+
</td>
|
|
2918
|
+
<td>
|
|
2919
|
+
<pre class="code"><span class="info file"># File 'lib/net/ssh/simple.rb', line 512</span>
|
|
2920
|
+
|
|
2921
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_ssh'>ssh</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
2922
|
+
<span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='ivar'>@opts</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
|
2923
|
+
<span class='id identifier rubyid_with_session'>with_session</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_session'>session</span><span class='op'>|</span>
|
|
2924
|
+
<span class='ivar'>@result</span> <span class='op'>=</span> <span class='const'>Result</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
|
2925
|
+
<span class='lbrace'>{</span> <span class='symbol'>:op</span> <span class='op'>=></span> <span class='symbol'>:ssh</span><span class='comma'>,</span> <span class='symbol'>:host</span> <span class='op'>=></span> <span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='symbol'>:cmd</span> <span class='op'>=></span> <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='symbol'>:start_at</span> <span class='op'>=></span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='comma'>,</span>
|
|
2926
|
+
<span class='symbol'>:last_event_at</span> <span class='op'>=></span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='comma'>,</span> <span class='symbol'>:opts</span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='symbol'>:stdout</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:stderr</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
2927
|
+
<span class='symbol'>:success</span> <span class='op'>=></span> <span class='kw'>nil</span>
|
|
2928
|
+
<span class='rbrace'>}</span> <span class='rparen'>)</span>
|
|
2929
|
+
|
|
2930
|
+
<span class='id identifier rubyid_channel'>channel</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_open_channel'>open_channel</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_chan'>chan</span><span class='op'>|</span>
|
|
2931
|
+
<span class='id identifier rubyid_chan'>chan</span><span class='period'>.</span><span class='id identifier rubyid_exec'>exec</span> <span class='id identifier rubyid_cmd'>cmd</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='id identifier rubyid_success'>success</span><span class='op'>|</span>
|
|
2932
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_success'>success</span>
|
|
2933
|
+
<span class='id identifier rubyid_ch'>ch</span><span class='period'>.</span><span class='id identifier rubyid_on_data'>on_data</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='op'>|</span>
|
|
2934
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:last_event_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
2935
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:stdout</span><span class='comma'>,</span> <span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2936
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:stdout</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='kw'>unless</span> <span class='id identifier rubyid_r'>r</span> <span class='op'>==</span> <span class='symbol'>:no_append</span>
|
|
2937
|
+
<span class='kw'>end</span>
|
|
2938
|
+
<span class='id identifier rubyid_ch'>ch</span><span class='period'>.</span><span class='id identifier rubyid_on_extended_data'>on_extended_data</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='op'>|</span>
|
|
2939
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:last_event_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
2940
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:stderr</span><span class='comma'>,</span> <span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2941
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:stderr</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='kw'>unless</span> <span class='id identifier rubyid_r'>r</span> <span class='op'>==</span> <span class='symbol'>:no_append</span>
|
|
2942
|
+
<span class='kw'>end</span>
|
|
2943
|
+
<span class='id identifier rubyid_ch'>ch</span><span class='period'>.</span><span class='id identifier rubyid_on_request'>on_request</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>exit-status</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='op'>|</span>
|
|
2944
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:last_event_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
2945
|
+
<span class='id identifier rubyid_exit_code'>exit_code</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_read_long'>read_long</span>
|
|
2946
|
+
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:exit_code</span><span class='comma'>,</span> <span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='id identifier rubyid_exit_code'>exit_code</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2947
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:exit_code</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_exit_code'>exit_code</span>
|
|
2948
|
+
<span class='kw'>end</span>
|
|
2949
|
+
<span class='id identifier rubyid_ch'>ch</span><span class='period'>.</span><span class='id identifier rubyid_on_request'>on_request</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>exit-signal</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='op'>|</span>
|
|
2950
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:last_event_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
2951
|
+
<span class='id identifier rubyid_exit_signal'>exit_signal</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_read_string'>read_string</span>
|
|
2952
|
+
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:exit_signal</span><span class='comma'>,</span> <span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='id identifier rubyid_exit_signal'>exit_signal</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2953
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:exit_signal</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_exit_signal'>exit_signal</span>
|
|
2954
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>false</span>
|
|
2955
|
+
<span class='kw'>unless</span> <span class='id identifier rubyid_r'>r</span> <span class='op'>==</span> <span class='symbol'>:no_raise</span>
|
|
2956
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Killed by SIG</span><span class='embexpr_beg'>#{</span><span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:exit_signal</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
|
2957
|
+
<span class='kw'>end</span>
|
|
2958
|
+
<span class='kw'>end</span>
|
|
2959
|
+
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:start</span><span class='comma'>,</span> <span class='id identifier rubyid_ch'>ch</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2960
|
+
<span class='kw'>end</span>
|
|
2961
|
+
<span class='kw'>end</span>
|
|
2962
|
+
<span class='id identifier rubyid_wait_for_channel'>wait_for_channel</span> <span class='id identifier rubyid_session'>session</span><span class='comma'>,</span> <span class='id identifier rubyid_channel'>channel</span><span class='comma'>,</span> <span class='ivar'>@result</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span>
|
|
2963
|
+
<span class='ivar'>@result</span><span class='lbracket'>[</span><span class='symbol'>:finish_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
|
2964
|
+
<span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='symbol'>:finish</span><span class='comma'>,</span> <span class='id identifier rubyid_channel'>channel</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block'>block</span>
|
|
2965
|
+
<span class='ivar'>@result</span>
|
|
2966
|
+
<span class='kw'>end</span>
|
|
2967
|
+
<span class='kw'>end</span></pre>
|
|
2968
|
+
</td>
|
|
2969
|
+
</tr>
|
|
2970
|
+
</table>
|
|
2971
|
+
</div>
|
|
2972
|
+
|
|
2973
|
+
</div>
|
|
2974
|
+
|
|
2975
|
+
</div>
|
|
2976
|
+
|
|
2977
|
+
<div id="footer">
|
|
2978
|
+
Generated on Sat Jan 26 17:16:24 2013 by
|
|
2979
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
2980
|
+
0.8.3 (ruby-1.9.3).
|
|
2981
|
+
</div>
|
|
2982
|
+
|
|
2983
|
+
</body>
|
|
2984
|
+
</html>
|