Для виконання команди scp
у додатку на Ruby також можна використати метод system
або обратні апострофи. Однак, scp
потребує передачі імені користувача та хоста, а також шлях до файлу, який потрібно передати, і шляху до місця, куди файл потрібно передати.
Ось приклад використання методу system
(відправка файлу):
# Використання методу system
user = "remote_user"
host = "remote_host"
file = "local_file.txt"
destination = "remote_destination/"
result = system("scp #{file} #{user}@#{host}:#{destination}")
if result
puts "Файл успішно передано"
else
puts "Помилка під час передачі файлу"
end
або використовуючи обратні апострофи:
# Використання обратних апострофів
user = "remote_user"
host = "remote_host"
file = "local_file.txt"
destination = "remote_destination/"
output = `scp #{file} #{user}@#{host}:#{destination}`
if $?.success?
puts "Файл успішно передано"
else
puts "Помилка під час передачі файлу"
end
У цих прикладах #{file}
- це локальний файл, #{user}
і #{host}
- це ім’я користувача та хост, куди потрібно передати файл, а #{destination}
- це шлях на віддалений хост, куди файл буде переданий.
Отримати файл за допомогою SCP також можна зробити з використанням командного рядка. Ось приклад використання методу system
:
# Використання методу system
user = "remote_user"
host = "remote_host"
remote_file = "remote_file.txt"
local_destination = "local_destination/"
result = system("scp #{user}@#{host}:#{remote_file} #{local_destination}")
if result
puts "Файл успішно отримано"
else
puts "Помилка під час отримання файлу"
end
Або використовуючи обратні апострофи:
# Використання обратних апострофів
user = "remote_user"
host = "remote_host"
remote_file = "remote_file.txt"
local_destination = "local_destination/"
output = `scp #{user}@#{host}:#{remote_file} #{local_destination}`
if $?.success?
puts "Файл успішно отримано"
else
puts "Помилка під час отримання файлу"
end
У цих прикладах #{user}
і #{host}
- це ім’я користувача та хост, з якого потрібно отримати файл, #{remote_file}
- це шлях до віддаленого файлу, який потрібно отримати, а #{local_destination}
- це локальний каталог, куди файл буде збережений.