我是编程新手,我正在尝试使用#!评论ruby.
我一直得到消息:bash:matz.rb:命令未找到
我正在使用这个评论:#!/ usr/bin/env ruby
我曾经尝试过,有没有空间!以及有和没有环境.
当我使用$ ruby时
ruby在:/ usr/bin/ruby
我也进入了操作系统并将文件matz.rb的权限更改为rwx,对所有用户都没有影响.我做错了什么或者我的系统设置不正确?
这/usr/bin/env
部分很好.运行时,你需要给bash指向matz.rb的路径.如果您在matz.rb目录中,请键入"./matz.rb".目录"." 表示当前目录 - 运行程序时默认情况下bash不会显示在那里(如Windows).
env程序(/ usr/bin/env)为程序搜索可执行搜索路径(PATH环境变量),ruby
就像在命令提示符下键入它一样,然后运行该程序.shebang评论没有这样做.如果你想把你的脚本交给其他可能没有安装ruby的人,那么你应该使用" #!/usr/bin/env ruby
"注释,这样只要他们可以通过键入"ruby"来运行ruby,它就会起作用.
如果您与matz.rb文件位于同一目录中,请确保将其作为
$ ./matz.rb
而不只是
$ matz.rb
这是一个shell会话,演示了这个工作:
$ ls -la m* -rwxr-xr-x 1 gareth gareth 32 8 Jan 08:46 matz.rb $ cat matz.rb #!/usr/bin/env ruby puts "Matz" $ matz.rb -bash: matz.rb: command not found $ ./matz.rb Matz