好像我的shebang被忽略了。当我尝试执行我编写的 shell 脚本时,出现错误:
% ls -alh /usr/sh
-r-xr-xr-x 1 root 1011 139k Sep 16 01:29 sh
% ls -alh foo.sh
-rwxr-xr-x 1 george george 21B Sep 16 00:59 foo.sh
% cat ./foo.sh
#!/usr/sh
echo "lol"
% ./foo.sh
./foo.sh: Command not found.
% sh ./foo.sh
lol
是的,它位于 /usr/sh。我把它放在那里。
但是正如你所看到的,当我指示sh
执行它时它工作得很好。是什么赋予了?
我认为不$PATH
适用,但在一些试图解决这个问题的搜索结果中,人们要求它:
% echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin