Jak*_*e88 5 linux shell automation clearcase expect
我正在尝试从两个不同的位置运行我的 Expect 脚本,它将与以下引用的 Expect 可执行文件一起使用:
#!/usr/bin/expect)#!/clearlib/vobs/otherdir/bin/expect)问题是我无法在两个地方运行脚本,除非我将 Expect 可执行文件位置的引用更改为文件的第一行。
如何获取相应目录的 Expect 可执行文件的正确实例?
如果您的路径在两台服务器上都设置正确,您可以使用/usr/bin/env:
#!/usr/bin/env expect
Run Code Online (Sandbox Code Playgroud)
PATH这将使用(/usr/bin在一种情况下,/clearlib/vobs/otherdir/bin在另一种情况下)中找到的期望
通过改为使用
env示例中的方式,可以在脚本运行时搜索并定位解释器。
这使得脚本更加可移植,但也增加了选择错误解释器的风险,因为它在可执行搜索路径上的每个目录中搜索匹配项。
它还遇到同样的问题,因为env每台机器的二进制文件路径也可能不同。
如果您对设置右侧有疑问PATH,那么“/usr/bin/env有关 shebang 线特性的问题”可以提供帮助。