Documentation
¶
Index ¶
- Constants
- Variables
- func CheckCmd(cmd string) bool
- func GetUserInfo(display bool) (ok bool, username string, userid int, UserHome string)
- func SetLogLevel(level string)
- func Version() string
- type ApiHandle
- type ApiShell
- func (api *ApiShell) AwkCol(col string)
- func (api *ApiShell) Column(col int, sep string) *ApiShell
- func (api *ApiShell) Echo()
- func (api *ApiShell) Grep(match string) *ApiShell
- func (api *ApiShell) Line(n int) *ApiShell
- func (api *ApiShell) ProcessIsRunning(command string) bool
- func (api *ApiShell) RunScript(command ...string)
- func (api *ApiShell) RunShell(command ...string)
- func (api *ApiShell) RunShellList(cs []string)
- func (api *ApiShell) RunTerminal(command ...string)
- func (api *ApiShell) RunTimeout(n time.Duration, command ...string) *ApiShell
- type ApiSudo
Constants ¶
const ( SudoAuthNotChecked = "未进行验证" // 初始状态 SudoAuthSuccess = "验证成功" // 验证成功 SudoAuthWrongPass = "密码错误" // 密码错误 SudoAuthNoPermission = "无sudo权限" // 无sudo权限 )
SudoAuthStatus 定义sudo验证状态常量
Variables ¶
var Debug bool = false
Debug 全局调试变量,控制是否输出调试信息
Functions ¶
func GetUserInfo ¶
GetUserInfo 获取用户名,用户uid,用户家目录
@Description: @param display 是否显示详细信息 @return ok 获取结果 @return username 用户名 @return userid 用户ID @return UserHome 用户主目录
func SetLogLevel ¶ added in v1.8.5
func SetLogLevel(level string)
SetLogLevel 设置日志输出等级
@Description: @param level 日志等级字符串,支持以下值: "EMER" - 系统级紧急(磁盘出错,内存异常等) "ALRT" - 系统级警告(数据库异常,配置错误等) "CRIT" - 系统级危险(权限出错,访问异常等) "EROR" - 用户级错误 "WARN" - 用户级警告 "INFO" - 用户级信息(默认) "DEBG" - 用户级调试(需要手动开启) "TRAC" - 用户级基本输出
Types ¶
type ApiShell ¶ added in v1.4.7
type ApiShell struct {
Realtime bool // 是否开启实时打印信息
Result bool // 是否执行成功
Text string // 需要执行的命令
OsType string // 系统类型
Strings string // 输出结果
ExitCode int // 命令执行退出代码
Err error // 错误
Slice []string // 数据切片
Script string // 脚本文件
ScriptMode bool // 脚本文件
Terminal string // 使用的终端命令
TerminalArg string // 使用的终端参数
TerminalBool bool // 是否可以使用终端
BlackHole bool // 是否使用黑洞模式(忽略错误信息)
Ignore bool // 是否忽略标准输出
// contains filtered or unexported fields
}
ApiShell @Description: 定义命令的结构体
func NewShell ¶ added in v1.4.6
func NewShell() *ApiShell
NewShell 命令实例构造函数 Realtime 是否开启实时打印数据
@Description: @return *ApiShell
func (*ApiShell) AwkCol ¶ added in v1.7.5
AwkCol 提取并打印指定列的数据。 该方法使用 awk 工具从临时文件中提取指定的列,并将结果打印出来。 参数:
col (string): 需要提取的列号,例如 "1" 表示第一列。
func (*ApiShell) Column ¶ added in v1.5.5
Column 方法按列解析字符串数据,并使用指定的分隔符。 该方法接收两参数:col(int) 和 sep(string),分别表示列号和分隔符。 它首先将字符串按行分割,然后调用 gfs 的 Column 方法进行列解析, 最后更新 api 的字符串数据和错误信息,并返回 api 实例。
func (*ApiShell) Echo ¶ added in v1.5.5
func (api *ApiShell) Echo()
Echo 方法用于打印 ApiShell 实例中的 Strings 属性。 该方法没有输入参数,也不返回任何值。 主要用途是展示或调试 Strings 属性的内容。
func (*ApiShell) Grep ¶ added in v1.5.7
Grep 方法用于在 ApiShell 实例的字符串数组中搜索匹配指定文本的行。 它利用 api.gfs 的 Grep 方法进行实际的搜索操作,并更新 ApiShell 实例的状态以反映搜索结果。 参数:
match - 要搜索的字符串。
返回值:
*ApiShell - 返回当前的 ApiShell 实例,用于支持链式调用。
func (*ApiShell) Line ¶ added in v1.5.5
Line 方法用于处理文本数据,使其以指定的行数显示 参数 n 指定文本应显示的行数 该方法返回 ApiShell 类型的指针,使得方法调用可以链式方式进行
func (*ApiShell) ProcessIsRunning ¶ added in v1.8.0
ProcessIsRunning 检查指定命令的进程是否正在运行。 参数:
command (string): 需要检测的命令名称。
返回值:
bool: 如果进程正在运行,则返回true;否则返回false。
func (*ApiShell) RunScript ¶ added in v1.5.8
RunScript 通过生成脚本的方式执行Shell,支持Shell管道
@Description: @receiver api @param command 需要执行的命令,例如 'apt', 'update',命令与选项可以分开传入
func (*ApiShell) RunShell ¶ added in v1.4.7
RunShell 执行Shell命令。
该方法接受一个或多个字符串参数作为命令,将其存储在api.args中, 然后调用api.shellSystem()方法来执行命令。 此方法不返回任何值。
func (*ApiShell) RunShellList ¶ added in v1.7.7
RunShellList 批量执行命令
@Description: 通过传入完整的命令切片遍历执行,当遇到执行错误立即返回 @receiver api @param cs 需要执行的命令切片,每个切片元素必须是完整命令
func (*ApiShell) RunTerminal ¶ added in v1.7.8
RunTerminal 通过调用图形化终端程序的方式执行Shell命令,使用脚本封装的方式,支持Shell管道
@Description: @receiver api @param command 需要执行的命令,例如 'apt', 'update',命令与选项可以分开传入
type ApiSudo ¶ added in v1.4.7
type ApiSudo struct {
SudoPath string // sudo命令绝对路径
Password string // sudo权限使用的密码
Auth bool // 是否需要认证
ApiShell // 继承Shell实例
// contains filtered or unexported fields
}
ApiSudo 定义命令的结构体
func NewSudo ¶ added in v1.4.6
NewSudo 命令实例构造函数, 当不需要执行sudo命令的时候直接传入任意字符串给password即可
@Description: @param password 主机密码 @return *ApiSudo
func (*ApiSudo) Grep ¶ added in v1.5.8
Grep 方法用于在 ApiSudo 结构体的 Strings 字段中查找包含指定字符串的行。 它利用关联的 Grep 函数来执行查找操作,并更新 ApiSudo 结构体的字段以反映查找结果。 参数:
match - 要查找的字符串。
返回值:
*ApiSudo - 返回指向 ApiSudo 实例的指针,以便进行链式调用。
func (*ApiSudo) RunScriptSudo ¶ added in v1.7.0
RunScriptSudo 执行脚本命令
func (*ApiSudo) RunSudoList ¶ added in v1.7.7
RunSudoList 执行一系列sudo命令
func (*ApiSudo) RunSudoTimeout ¶ added in v1.8.5
RunSudoTimeout 执行超级用户命令并设置超时时间
@Description: 为sudo命令添加超时控制 @receiver api @param timeout 超时时间(秒) @param command 需要执行的命令,例如 'apt', 'update',命令与选项可以分开传入 @return *ApiSudo