Linux 将Expect与shell脚本捆绑,以绕过Expect的安装

Linux 将Expect与shell脚本捆绑,以绕过Expect的安装,linux,expect,Linux,Expect,我想要创建一个使用Expect库的shell脚本,但是Expect没有安装在我想要运行脚本的任何系统上。我也不能在这些系统上安装库。我是否可以从源代码构建Expect,然后将其放在与脚本相同的目录中?你会怎么做呢?是的,你可以,这并不难 从下载Expect源代码 解包源 gunzip expect.tar.gz tar -xvf expect.tar 这将创建一个包含Expect发行版的目录。更改到该目录并 配置要编译的源: ./configure --prefix=~/ 使用--pre

我想要创建一个使用Expect库的shell脚本,但是Expect没有安装在我想要运行脚本的任何系统上。我也不能在这些系统上安装库。我是否可以从源代码构建Expect,然后将其放在与脚本相同的目录中?你会怎么做呢?

是的,你可以,这并不难

  • 从下载Expect源代码

  • 解包源

    gunzip expect.tar.gz
    tar -xvf expect.tar
    
  • 这将创建一个包含Expect发行版的目录。更改到该目录并

  • 配置要编译的源:

    ./configure --prefix=~/
    
  • 使用
    --prefix
    参数指定Expect的安装位置<代码>~/在我的示例中是当前用户主目录的快捷方式,因此它将仅为您的用户在本地安装,并且您不需要根权限来安装它。如果您具有root权限并希望在系统范围内安装,则可以省略
    --prefix
    参数

  • 编译预期:

    make
    
  • 并安装它:

    make install
    

  • 就是这样:)

    我没有任何编译静态二进制可执行文件的经验。您尝试过什么?您所说的“我也不能在这些系统上安装库”是什么意思?您没有root权限?请查看。您只能使用shell脚本编写expect脚本。它很容易构建,而且很小,而且不依赖于第三方LIB。我建议您为此使用Starpack。根据我的经验,除了从源代码构建之外,构建它并不是那么容易。它需要Tcl的私有头文件,默认情况下可能不会安装。是的,Expect to compile需要Tcl。还需要c编译器、make suite等。但我的观点是——这很容易,即使您还必须安装一些必需的依赖项。但是如果你有什么特别的问题,我很乐意帮你。