在 Ubuntu 上,
我已经为 Ruby 创建了一个可执行文件
bin/hello(文件名)
#!/usr/bin/env ruby
但是每当我bin/hello
从 bin 的父目录运行时
它提出了: No such file or directory
我确定没有任何错字或任何东西。
有什么问题?
我认为您很可能使用 Windows 换行符 (CRLF) 保存了文件;第一行末尾之前的不可见CR
会导致可执行搜索失败,并且由于回车,部分错误消息会“擦除”自身。
查看文件,vim
看看是否^M
显示在行尾。或者,您可以查看输出xxd bin/hello | head -n 10
并查看0D 0A
(CR LF) 是否出现。如果您怀疑 CRLF,您可以使用dos2unix
将文件修复回 Unix (LF) 换行符。
您必须使文件可执行
chmod +x bin/hello
之后通过编写运行它
./bin/hello