Как добавить Unix/пользователя Linux в сценарии удара

Использовать locate

Причина - это locate использует базу данных всех существующих каталогов и файлов, это было уже создано точно так же, как Вы вообразили!
http://linux.about.com/od/commands/l/blcmdl5_locatedb.htm

В некотором наборе (и изменяемый) интервал, который делают прогоны задания, сканирует файловую систему и затем создает базу данных с ним. Затем эта база данных (locatedb), с ее соответствующими индексами locate команда идет вразрез вместо того, чтобы сканировать через Ваш жесткий диск в той точке.

Таким образом, позитивный аспект - то, что это очень быстро по сравнению со сканированием жесткого диска. Оборотная сторона - то, что определять местоположение база данных (locatedb) не 'жива', так может только использоваться для файлов, которые существовали 'с' последнего сканирования.

Обновить locatedb, теперь выполненный updatedb (или sudo updatedb при необходимости)

btw я просто работал sudo updatedb локально и потребовалось 3 1/2 секунды! У меня есть 31 000 файлов.

9
19.06.2013, 02:22
2 ответа

Просто используйте параметры командной строки вместо stdin и используйте chpasswd для пароля.

Например:

sudo adduser myuser --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password
echo "myuser:password" | sudo chpasswd
29
27.01.2020, 20:04

adduser называет внешнюю программу chfn считать полное имя и другую информацию о пользователе. chfn читает bufferful входа, включая не только, в чем он нуждается, но и это длится Y строка. Когда adduser просит подтверждение позже, Y строка была считана (но проигнорирована) chfn, так adduser видит конец файла на его входе. Переменная $answer как ожидают, будет содержать строку входа, но потому что не было никакого входа для чтения, это не определено.

Так как Вы пишете сценарий, передаете данные (кроме пароля) на командной строке.

2
27.01.2020, 20:04

Теги

Похожие вопросы