如何在shell脚本中导入两个库?

时间:2017-10-13 11:55:21

标签: linux bash shell

如何在同一个脚本中导入bash并期望?我尝试过以下示例,但它不起作用:

#!/bin/bash
#!/usr/bin/expect

两者都无法同时导入,只有bash有效。

2 个答案:

答案 0 :(得分:7)

这里存在一些严重的误解和/或误解。 #! aka she-bang不会导入任何库。 这只是表示应该使用解释器来运行脚本的操作系统。

例如,如果您的脚本foo看起来像

#!/bin/bash
echo foo

您可以简单地(假设您在脚本上设置了可执行权限)

./foo

但如果省略第一行,则必须

/bin/bash ./foo

bashexpect是(非常)不同的解释语言,因此您必须决定使用哪种语言,然后使用相应的解释器。

对同一个脚本有两个解释器是一种简单的无意义。

答案 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库。