# process.plink 库模块帮助文档

## process 成员列表 <a id="process" href="#process">&#x23;</a>

### process.plink() <a id="process.plink" href="#process.plink">&#x23;</a>
[返回对象:processPopenObject](https://www.aardio.com/zh-cn/docs/library-reference/process/popen.html#processPopenObject)

### process.plink(命令行参数) <a id="process.plink" href="#process.plink">&#x23;</a>

```aardio
process.plink(    
    ,"-l","用户名"  
    ,"-pw","密码"  
    ,"-P","22","服务器IP"   
    /*,"-m",io.fullpath("/更多shell命令.txt")*/  
    ,"ls /*shell命令中请使用单引号代替双引号*/"  
    )
```

## process.plink 成员列表 <a id="process.plink" href="#process.plink">&#x23;</a>

使用管道调用Putty命令行连接工具plink.exe  
[plink参数列表](https://the.earth.li/~sgtatham/putty/0.71/htmldoc/Chapter7.html#plink-usage)

### process.plink.limitKill <a id="process.plink.limitKill" href="#process.plink.limitKill">&#x23;</a>
默认值为 true ,如果此参数为 true,  
则创建的所有 plink 进程绑定到 process.job.limitKill 作业对象,  
当前进程退出时,这些 plink 进程也会自动退出

### process.plink.shell <a id="process.plink.shell" href="#process.plink.shell">&#x23;</a>
用于自动登录

### process.plink.shell() <a id="process.plink.shell" href="#process.plink.shell">&#x23;</a>
[返回对象:plinkShellObject](#plinkShellObject)

### process.plink.shell(服务器IP,登录密码,用户名,端口,私钥) <a id="process.plink.shell" href="#process.plink.shell">&#x23;</a>
除服务器IP以外其他参数都是可选参数  
用户名默认为"root",端口默认为22  
如果已经配置了SSH Key可以不用指定密码

### process.plink.terminate() <a id="process.plink.terminate" href="#process.plink.terminate">&#x23;</a>
关闭所有创建的plink进程

## plinkShellObject 成员列表 <a id="plinkShellObject" href="#plinkShellObject">&#x23;</a>

### plinkShellObject.bash <a id="plinkShellObject.bash" href="#plinkShellObject.bash">&#x23;</a>
执行脚本并关闭交互模式

### plinkShellObject.bash() <a id="plinkShellObject.bash" href="#plinkShellObject.bash">&#x23;</a>
[返回对象:processPopenObject](https://www.aardio.com/zh-cn/docs/library-reference/process/popen.html#processPopenObject)

### plinkShellObject.bash(脚本,其他参数) <a id="plinkShellObject.bash" href="#plinkShellObject.bash">&#x23;</a>
参数@1可以是脚本或文件路径  
其他参数注意包含空格且不含引号则会自动置入双引号内,  
标准输入输出、脚本参数默认使用 UTF-8 编码

### plinkShellObject.download <a id="plinkShellObject.download" href="#plinkShellObject.download">&#x23;</a>
下载文件

### plinkShellObject.download(远程路径,本地路径) <a id="plinkShellObject.download" href="#plinkShellObject.download">&#x23;</a>
本地路径可以指定下载目录,也可以指定完整的文件路径  
默认为工程目录

### plinkShellObject.exec <a id="plinkShellObject.exec" href="#plinkShellObject.exec">&#x23;</a>
执行脚本并回显进程输出

### plinkShellObject.exec(脚本,其他参数) <a id="plinkShellObject.exec" href="#plinkShellObject.exec">&#x23;</a>
参数@1可以是脚本或文件路径  
其他参数注意包含空格且不含引号则会自动置入双引号内,  
标准输入输出、脚本参数默认使用 UTF-8 编码

### plinkShellObject.logger <a id="plinkShellObject.logger" href="#plinkShellObject.logger">&#x23;</a>
回显对象  
该对象必须有log或write成员函数用于进程回显

### plinkShellObject.open <a id="plinkShellObject.open" href="#plinkShellObject.open">&#x23;</a>
执行脚本并返回创建的进程

### plinkShellObject.open() <a id="plinkShellObject.open" href="#plinkShellObject.open">&#x23;</a>
[返回对象:processPopenObject](https://www.aardio.com/zh-cn/docs/library-reference/process/popen.html#processPopenObject)

### plinkShellObject.open(脚本,其他参数) <a id="plinkShellObject.open" href="#plinkShellObject.open">&#x23;</a>
参数@1可以是脚本或文件路径  
其他参数注意包含空格且不含引号则会自动置入双引号内,  
标准输入输出、脚本参数默认使用 UTF-8 编码

### plinkShellObject.upload <a id="plinkShellObject.upload" href="#plinkShellObject.upload">&#x23;</a>
上传文件

### plinkShellObject.upload(本地路径,远程目录) <a id="plinkShellObject.upload" href="#plinkShellObject.upload">&#x23;</a>
远程目录默认为当前目录  
本地路径如果指定目录时不能包含空格,建议使用压缩包上传  
在服务端使用 7z -y x 指今解压缩

### plinkShellObject.verify() <a id="plinkShellObject.verify" href="#plinkShellObject.verify">&#x23;</a>
忽略首次登录时的服务器验证
