Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
Tabby
提交
153cd1ec
T
Tabby
项目概览
后端镜像
/
Tabby
通知
38
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Tabby
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
153cd1ec
编写于
10月 08, 2018
作者:
E
Eugene
提交者:
GitHub
10月 08, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #437 from Domain/master
Support regex and optional script
上级
44116436
0254cabd
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
55 addition
and
11 deletion
+55
-11
terminus-ssh/src/api.ts
terminus-ssh/src/api.ts
+29
-5
terminus-ssh/src/components/editConnectionModal.component.pug
...inus-ssh/src/components/editConnectionModal.component.pug
+24
-6
terminus-ssh/src/components/editConnectionModal.component.ts
terminus-ssh/src/components/editConnectionModal.component.ts
+2
-0
未找到文件。
terminus-ssh/src/api.ts
浏览文件 @
153cd1ec
...
...
@@ -3,6 +3,8 @@ import { BaseSession } from 'terminus-terminal'
export
interface
LoginScript
{
expect
?:
string
send
:
string
isRegex
?:
boolean
optional
?:
boolean
}
export
interface
SSHConnection
{
...
...
@@ -37,13 +39,35 @@ export class SSHSession extends BaseSession {
if
(
this
.
scripts
)
{
let
found
=
false
for
(
let
script
of
this
.
scripts
)
{
if
(
dataString
.
includes
(
script
.
expect
))
{
console
.
log
(
'
Executing script:
'
,
script
.
send
)
this
.
shell
.
write
(
script
.
send
+
'
\n
'
)
let
match
=
false
let
cmd
=
''
if
(
script
.
isRegex
)
{
let
re
=
new
RegExp
(
script
.
expect
,
'
g
'
)
if
(
dataString
.
match
(
re
))
{
cmd
=
dataString
.
replace
(
re
,
script
.
send
)
match
=
true
found
=
true
}
}
else
{
if
(
dataString
.
includes
(
script
.
expect
))
{
cmd
=
script
.
send
match
=
true
found
=
true
}
}
if
(
match
)
{
console
.
log
(
'
Executing script: "
'
+
cmd
+
'
"
'
)
this
.
shell
.
write
(
cmd
+
'
\n
'
)
this
.
scripts
=
this
.
scripts
.
filter
(
x
=>
x
!==
script
)
found
=
true
}
else
{
break
if
(
script
.
optional
)
{
console
.
log
(
'
Skip optional script:
'
+
script
.
expect
)
found
=
true
this
.
scripts
=
this
.
scripts
.
filter
(
x
=>
x
!==
script
)
}
else
{
break
}
}
}
...
...
terminus-ssh/src/components/editConnectionModal.component.pug
浏览文件 @
153cd1ec
...
...
@@ -94,18 +94,28 @@
tr
th String to expect
th String to be sent
th Regex
th Optional
th Actions
tr(*ngFor='let script of connection.scripts')
td
input.form-control(
type='text',
[(ngModel)]='script.expect'
)
type='text',
[(ngModel)]='script.expect'
)
td
input.form-control(
type='text',
[(ngModel)]='script.send'
)
type='text',
[(ngModel)]='script.send'
)
td
toggle(
[(ngModel)]='script.isRegex',
)
td
toggle(
[(ngModel)]='script.optional',
)
td
.input-group.flex-nowrap
button.btn.btn-outline-info.ml-0((click)='moveScriptUp(script)')
...
...
@@ -127,6 +137,14 @@
placeholder='Enter a string to be sent',
[(ngModel)]='newScript.send'
)
td
toggle(
[(ngModel)]='newScript.isRegex',
)
td
toggle(
[(ngModel)]='newScript.optional',
)
td
.input-group.flex-nowrap
button.btn.btn-outline-info.ml-0((click)='addScript()')
...
...
terminus-ssh/src/components/editConnectionModal.component.ts
浏览文件 @
153cd1ec
...
...
@@ -83,5 +83,7 @@ export class EditConnectionModalComponent {
clearScript
()
{
this
.
newScript
.
expect
=
''
this
.
newScript
.
send
=
''
this
.
newScript
.
isRegex
=
false
this
.
newScript
.
optional
=
false
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录