我使用 Alpine Linux 3.11 作为新的 Docker 容器。
我有默认$PATH变量,内容如下:
echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)
当我放置一个脚本wait-for(以 开头的shell脚本#!/bin/sh)时,/usr/local/bin它显示正常:
chmod +x wait-for
mv wait-for /usr/local/bin/wait-for
ls -l /usr/local/bin/wait-for
Run Code Online (Sandbox Code Playgroud)
产生:
-rwxr-xr-x 1 root root 1451 May 1 16:09 /usr/local/bin/wait-for
Run Code Online (Sandbox Code Playgroud)
它也在我使用时运行 sh /usr/local/bin/wait-for用来执行它。
但是,当我进入/usr/src/并尝试跑步时,wait-for我得到了sh: wait-for: not found
我的理解是因为/usr/local/bin目录在$PATH位于该目录中,所以应该全局调用任何脚本。
我误解了什么?
/usr/src/如果我使用sh /usr/local/bin/wait-for,我可以运行文件,但如果我使用/usr/local/bin/wait-for(不带sh前缀),则不能运行,它返回sh: /usr/local/bin/wait-for: not found.
的输出/etc/fstab是:
/dev/cdrom /media/cdrom iso9660 noauto,ro …Run Code Online (Sandbox Code Playgroud)