Linux系统 PHP安装expect扩展详解

简介: Linux系统 PHP安装expect扩展详解

今天继续给大家介绍服务器运维相关知识,本文主要内容是Linux系统 PHP安装expect扩展详解。

一、expect简介
expect是基于tcl语言开发的,用于实现自动和交互式任务进行通信,而无须人的干预。expect是建立在tcl基础上的一个工具,还提供了一些tcl所没有的命令,可以用来做到Linux系统下无法做到的交互式的命令操作,在远程管理方面可以发挥很大的作用。

二、tcl安装
因为expect是基于tcl开发的,因此要安装expect,就必须先安装tcl。
tcl下载地址为:https://www.tcl.tk/software/tcltk/downloadnow84.tml
页面如下所示:

我们在Linux系统上,执行命令:

wget http://jaist.dl.sourceforge.net/project/tcl/Tcl/8.4.11/tcl8.4.11-src.tar.gz
1
就可以将tcl的源码包下载到本地,如下所示:

下载完成后,我们需要对tcl的源码包进行解压,然后进入源码包目录,目录如下所示:

mkdir -p /opt/tcl
tar xf tcl8.4.11-src.tar.gz -C /opt/tcl
cd /opt/tcl/tcl8.4.11/unix/
1
2
3
上述命令执行结果如下所示:

之后,我们需要进行预编译,执行命令:

./configure
1
该命令执行结果如下所示:

在预编译完成后,我们就可以进行编译和安装了,命令如下所示:

make && make install
1
上述命令执行结果如下所示:

上述过程完成后,我们执行命令:

whereis tcl
1
正确安装tcl后结果如下所示:

三、expect安装
expect下载地址为:https://sourceforge.net/projects/expect/。该页面如下所示:

我们在该页面上下载完成后,还是需要进行解压,然后进入到解压后的目录,相关命令如下所示:

mkdir -p /opt/expect
tar xf expect5.45.tar.gz -C /opt/expect
cd /opt/expect/expect5.45/
1
2
3
上述命令执行结果如下所示:

之后,我们需要进行预编译,执行命令:

./configure --with-tclinclude=/opt/tcl/tcl8.4.11/generic --with-tclconfig=/usr/local/lib/
1
注意,在上述命令中,–with-tclinclude参数的值是tcl源码包解压后目录,上述命令执行结果如下所示:

接下来,我们就可以进行编译和安装了,执行命令:

make && make install
1
上述命令执行结果如下所示:

我们可以在shell下执行命令:expect,以检验expect的安装效果,如下所示:

从上图可以看出,expect命令安装成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/128413872

目录
相关文章
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
1039 3
Linux系统禁用swap
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1638 3
|
12月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
787 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1140 3
Linux系统初始化脚本
|
12月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
1374 0
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1259 1
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1524 1
|
PHP
PHP——oneinstack重新安装PHP的时候报错
PHP——oneinstack重新安装PHP的时候报错
376 4
|
Ubuntu PHP
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
520 1
|
PHP
PHP——安装ThinkPHP框架报错
PHP——安装ThinkPHP框架报错
427 0