Я пытаюсь создать сценарий копирования, чтобы быстро скопировать пользовательскую папку в OS X, исключая при этом все ненужные файлы (кэши, старые резервные копии iPhone, журналы и т.д.). Что касается копирования этих файлов / папок, у меня нет проблем. Проблема при выборе пользователя. Я хочу создать список всех пользователей на компьютере, за исключением системных учетных записей, и попросить оператора выбрать папку для резервного копирования, просто набрав номер из списка. В настоящее время я могу получить пользователей с помощью следующей команды:
userList=`dscl . list /Users UniqueID | awk '$2 >= 400 { print $1; }'`
Например, это вернет:
hiddenadmin fred joe kim
Я хотел бы создать список выбора, который затем показывает:
Please choose which user folder you would like to copy:
1) hiddenadmin
2) fred
3) joe
4) kim
Когда у меня есть пользователь, у меня все хорошо, но я не могу получить список для создания. Кроме того, нет никакой гарантии, что имена будут одинаковыми, или даже количество пользователей будет одинаковым.
В случае, если вам интересно, почему я не просто заглядываю в папку /Users, чтобы создать список. Некоторые учетные записи могут быть скрыты и иметь свою папку пользователя в другом месте, и я не хочу, чтобы папки Guest
или Shared
в списке. Проблема в том, что я даже не знаю, с чего начать.