ファイルを共通な directory /tmp にしまっておき、 誰でも書き込めるようにしてみよう。
#!/usr/koeki/bin/ruby
if FileTest.exist?("/tmp/message.dat")
# FileTest.writable?("/tmp/message.dat") # ファイルがかき込みできるなら true
print("一言メッセージを書き込んでね: \n")
message = gets.chomp
open("/tmp/message.dat", "a") do |msg|
msg.printf("%s: %s\n", `whoami`.chomp, message)
end
printf("ファイルに書きこんだよ\n")
printf("メッセージを見るには cat /tmp/message.dat してね\n")
else
printf("ファイルを作ったよ\n")
system("touch /tmp/message.dat")
# system("ls -l /tmp/message.dat")
File.chmod(0100666, "/tmp/message.dat") # ファイルを chmod +w する
# system("ls -l /tmp/message.dat")
print("一言メッセージを書き込んでね: \n")
message = gets.chomp
open("/tmp/message.dat", "w") do |msg|
msg.printf("%s: %s\n", `whoami`.chomp, message)
end
end
whoami コマンドは使用しているユーザ名を知るためのコマンドである。
File や FileTest は、ファイルの存在および状態について知ることができる method である。
system は、コマンドを実行するときに使用する。