#!/usr/bin/env ruby dir = ARGV[0] || "/usr/local/bin/" Dir["*.sh"].each do |n| src = File.join(Dir.pwd, n) target = File.join(dir, File.basename(n, '.sh')) command = "sh -c 'rm -f #{target} && ln -s #{src} #{target}'" command = "sudo #{command}" unless File.writable?(dir) puts command system(command) end