gpt4 book ai didi

Ruby 1.9 如果我有一个指向 ruby​​ 的 shebang,为什么系统看不到它?

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:03 25 4
gpt4 key购买 nike

我正在使用 Ubuntu。我正在尝试运行一个 ruby​​ 文件 todo.rb我将这个 shebang 添加为文件的第一行

#!/usr/bin/env ruby

我转到 rb 文件所在的目录,然后运行 ​​todo.rb 并得到错误 todo.rb: command not found

于是直接进入了/usr/bin目录。我找到了 env 命令并运行了它。 env 命令的输出显示 ruby​​ 路径和 ruby​​ 数据:

MY_RUBY_HOME=/home/tallercreativo/.rvm/rubies/ruby-1.9.2-p290
PATH=/home/tallercreativo/.rvm/gems/ruby-1.9.2-p290/bin:/home/tallercreativo/.rvm/gems/ruby-1.9.2-p290@global/bin:/home/tallercreativo/.rvm/rubies/ruby-1.9.2-p290/bin:/home/tallercreativo/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
GEM_PATH=/home/tallercreativo/.rvm/gems/ruby-1.9.2-p290:/home/tallercreativo/.rvm/gems/ruby-1.9.2-p290@global
RUBY_VERSION=ruby-1.9.2-p290

因为我无法让它工作,所以我将 shebang 更改为直接指向 ruby​​:

#!/home/tallercreativo/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

我得到相同的命令未找到错误。怎么了?

最佳答案

你需要先让你的脚本可执行:

chmod +x todo.rb

然后你需要像这样运行它:

./todo.rb

你不能只说 todo.rb 来运行它,除非你把它放在你的 PATH 中,在这种情况下你可以从任何地方这样做。

关于Ruby 1.9 如果我有一个指向 ruby​​ 的 shebang,为什么系统看不到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com