如何在同一个脚本中导入bash并期望?我尝试过以下示例,但它不起作用:
#!/bin/bash
#!/usr/bin/expect
两者都无法同时导入,只有bash有效。
答案 0 :(得分:7)
这里存在一些严重的误解和/或误解。
#!
aka she-bang不会导入任何库。
这只是表示应该使用解释器来运行脚本的操作系统。
例如,如果您的脚本foo
看起来像
#!/bin/bash
echo foo
您可以简单地(假设您在脚本上设置了可执行权限)
./foo
但如果省略第一行,则必须
/bin/bash ./foo
bash
和expect
是(非常)不同的解释语言,因此您必须决定使用哪种语言,然后使用相应的解释器。
对同一个脚本有两个解释器是一种简单的无意义。
答案 1 :(得分:0)
bash和Expect不能在同一脚本中使用。可以这样做。
#!/usr/bin/expect -f
spawn..... #actual code need to be run by using bash
expect "Enter password for store:"
send -- "password\r"
expect "Enter password:"
send -- "password\r"
expect eof
此代码用于运行需要密码的jar文件。因此,通过使用Expect库运行此脚本文件,可以完成此操作。该脚本将自动输入密码。要运行jar文件,需要使用sh库。