问题
脚本明明存在,但赋予可执行权限后还是说找不到,如图
原因
- Unix/Linux 系统使用
\n
(0x0A
)作为换行符。
- Windows 系统使用
\r\n
(0x0D 0x0A
)作为换行符。 - 脚本用十六进制打开可以看到,我们上面的脚本的换行符是用
0x0D 0x0A表示的,但是我们现在要在Unix环境下去运行该脚本,所以它就出现了not found.
解决
将换行符编辑位0x0A即可,下面是我的myapp.sh,同样的操作它就可以执行了。脚本里第一个换行符设置好了是0x0A,则后面会自动都是0X0A,所以写脚本之前可以确认一下。