내 자신의 질문에 대답하려면 :
#!/usr/bin/env ruby
case ARGV.first when 'link'
file = ARGV[1]
if !File.exist?(file)
puts "Unfortunately, \"#{file}\" was not found."
exit 0
end
bin = "/usr/local/bin/"
if !File.directory?(bin)
puts "#{bin} does not exist!"
puts "creating #{bin}..."
system "mkdir -p #{bin}"
end
if File.extname(file).empty?
if File.symlink?(bin + file)
puts "Unfortunately, \"#{bin + file}\" already exists."
exit 0
end
name = bin + file
puts "Symlinking #{file} to #{name}..."
File.symlink(file, name)
system "chmod +x #{name}"
else
name = file.split(File.extname(file))
name = bin + name.first
if File.symlink?(name)
puts "Unfortunately, \"#{name}\" already exists."
exit 0
end
puts "Symlinking #{file} to #{name}..."
File.symlink(file, name)
system "chmod +x #{name}"
end
else
puts "try: bin link <file>"
end
스크립트는 다음과 같은 방법으로 실행됩니다 .
원본 파일이 정확히 무엇을 의미합니까? – Linuxios
@Linuxios 링크가 가리키는 곳. – dejay
생성 된 심볼릭 링크가 콘솔 ('ls -l')에서 보이는 모양은 무엇입니까? 원본 파일의 경로가 잘못된 경우 잘못된 심볼릭 링크를 만들 수 있습니다. – Casper