Что ж, начнем с того, что я нуб-повар и пытаюсь расшифровать этот код.
Я в полном магазине Mac. Я использую Chef для автоматизации общесистемных изменений. Поскольку я новичок, я развертываю его на наших системах Mac AV.
По сути, на файловом сервере есть папка с каталогом MAC SCREEN SAVERS. Я копирую каталог сервера локально в каталог MAC OS X /User/user_name/Pictures.
Итак, вот что я получил в шеф-поваре:
local_folder_modified = File.mtime("~/Pictures/SCREEN SAVER NEW MACS")
server_folder_modified = File.mtime("/Volumes/SERVER/SCREEN\ SAVER\ NEW\ MACS/")
if server_folder_modified != local_folder_modified
# file has changed
then
require 'fileutils'
FileUtils.cd('server_folder_modified') do
FileUtils.rm('local_folder_modified/*')
FileUtils.cp_r './*', 'local_folder_modified'
Else
end
end
В любом случае, я не могу понять, как установить «~» в качестве текущего пользователя этого рецепта. Итак, если у Comp_A есть пользователь Jim_Beam, а у Comp_B есть пользователь Jack_Daniels, я не хочу устанавливать код следующим образом: ENV[HOME] = /user/jimbeam Поскольку это не будет работать на Jack_Daniels. Верно?
Я читал, что file.expand будет работать или ENV, но я действительно не уверен, какой код будет лучшим, чтобы сказать: «Эй, я хочу, чтобы текущий пользователь нуждался в этой заставке — поэтому установите среду как переменную, поэтому он работает на разных узлах».
В любом случае, спасибо за вашу помощь. Я надеюсь, что я имею смысл!