私はRubyを初めて使用し、次のようなスクリプトを作成しています。
- コマンドライン引数を受け入れます
- 引数の指定に基づいて、いくつかのディレクトリを削除します。
私がしたいこと:
./admin_bin -c
Removing files in /opt/sysnovo/tmp and /opt/sysnovo/data
私はこれを機能させています!しかし...それはルビーっぽい方法ではありません。
これが私のコードです:
#!/usr/bin/env ruby
require 'rubygems'
require 'fileutils'
require 'optparse'
OptionParser.new do |o|
o.on('-c') { |b| $clear = b }
o.on('-h') { puts o; exit }
o.parse!
end
# Two directories we want to specify.
tmp_dir = "/opt/sysnovo/tmp"
data_dir = "/opt/sysnovo/data"
# push this value to a variable so we can evaluate it.
test = $clear
if "#{test}" == "true"
puts "Removing files in #{tmp_dir} and #{data_dir}"
FileUtils.rm_rf("#{tmp_dir}/.", secure: true)
FileUtils.rm_rf("#{data_dir}/.", secure: true)
else
puts "Not removing files."
end
ご覧のとおり、$ clearを#{test}に設定し、それに基づいて評価します。私はそれが正しくないことを知っています。これを行う正しい方法は何ですか?このスクリプトには、後で引数と機能を追加する予定です。
PS私はbashのバックグラウンドから来ました。