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