Raspberry Pi上でRubyファイルの実行

投稿日時: 投稿者:

RUbyのファイルの1行名に

1
#!/usr/bin/ruby

(シェバン)
があるが、それがあると
test.rbを実行するのにホームディレクトリ上で

1
ruby test.rb

でも起動するが、

1
/home/pi/test.rb

だけで起動する。

ファイル名のtest.rbはtestでもいい。Linuxは拡張子で判断していない。

実際やってみると以下のことでハマった。

1
2
#!/usr/bin/ruby
puts"Ruby start"

をなぜか1行目は空白で、2行名から書いていたので、ファイルが実行できず。1行名から書く。

ruby test.rbは、実際はファイルの位置を明記して

1
/home/pi/test.rb

として実行する。最初にrubyと書かなくていい。
もしくは、

1
./test.rb

で実行。
.はホームディレクトリをさす。

test.rbではなく、./test.rbと打たないといけないのは
ホームディレクトリにパスが通っていないから。
本当はtest.rbと打ちたいですが
ホームディレクトリにパスを通すと危険だそうです。

参考
カレントディレクトリのプログラムを実行するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/040execcaprog.html

変数pathにカレントディレクトリを含める方法(あまりよくない)
http://www.not-enough.org/abe/manual/comm/command-path.html

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。