我正在尝试在 redhat linux 上运行 shell 脚本来安装应用程序。我收到一条错误消息,说 /usr/bin.sh: bad interpreter: no such file or directory。
在 shell 脚本中,脚本以:
#!/usr/bin/shBUILD_ID=$1.....
我只是想了解行首的路径是什么?这是它寻找部署应用程序的目录吗?
谢谢
我正在尝试在 redhat linux 上运行 shell 脚本来安装应用程序。我收到一条错误消息,说 /usr/bin.sh: bad interpreter: no such file or directory。
在 shell 脚本中,脚本以:
#!/usr/bin/shBUILD_ID=$1.....
我只是想了解行首的路径是什么?这是它寻找部署应用程序的目录吗?
谢谢
第一行应该是#!/usr/bin/sh
或者#!/bin/sh
如果它是一个 shell 脚本。
如果第一行是#!/usr/bin/sh
然后尝试查看 /usr/bin/sh 是否存在并且您使用ls -l /usr/bin/sh
如果您找不到sh
,那么您的系统状态不佳。
这#!
是一个幻数,告诉内核该文件是一个可执行脚本。紧随其后的字符串#!
是解释器的路径,该解释器被调用来读取和执行文件的内容。在行
#!/ust/bin/shBUILD_ID=$1.....
口译员是/ust/bin/shBUILD_ID=$1....
。解释器是直接读取的,没有 shell 变量替换,因此它将完全按照您指定的方式查找文件(包括等号、美元、点等)。如果找不到您指定的解释器,默认 shell 会发出错误消息,而您的解释器看起来完全错误。试试#!/bin/sh
。如果解释器字符串后跟一个空格,然后是一些参数,则这些参数在调用时传递给解释器。