необходимо сделать стандартную программу в постустановке пакета, которая копирует содержание того, что необходимо поставить дом пользователя
Что-то вроде этого:
# For every user in /home/ ...
for HOME_U in /home/*?; do
# Obtain the username
USER=$( basename ${HOME_U} )
# In case the user is active (exists in /etc/shadow) ...
if [ $( grep -c "${USER}:.*:.*:.*:.*:.*:::" /etc/shadow ) == 1 ] \
&& [ $( grep -c "${USER}:.*:.*:.*:.*:.*:/bin/.*sh" /etc/passwd ) == 1 ] \
&& [ -d ${HOME_U}/.config ] \
&& [ -d ${HOME_U} ]; then
# Making sure .config/your-package/ exists
mkdir -p /home/${USER}/.config/your-package/
# with appropiate permissions
chown ${USER}:${USER} /home/${USER}/.config/your-package/
# copy what we need
cp /etc/skel/.config/your-package/x.conf /home/${USER}/.config/your-package/
cp /etc/skel/.config/your-package/y.conf /home/${USER}/.config/your-package/
cp ... /home/${USER}/.config/your-package/
# with appropiate permissions
chown ${USER}:${USER} /home/${USER}/.config/your-package/x.conf
chown ${USER}:${USER} /home/${USER}/.config/your-package/y.conf
...
fi
done
Надежда можно использовать его.
да может использоваться для отправки утверждения (или отрицательный; например, да n) ответ на любую команду, которая иначе запросила бы один, таким образом, заставив команду работать нев интерактивном режиме.
Да команда в сочетании с главной командой может использоваться для генерации файлов большого объема для средств тестирования.
Это может также использоваться, чтобы протестировать, как хорошо система обрабатывает высокие загрузки, как использование да результаты в 100%-м использовании процессора, для систем с единственным процессором (для многопроцессорной системы, процесс должен быть выполнен для каждого процессора). Это, например, может быть полезно для исследования, будет ли система охлаждения системы эффективной, когда процессор достигнет 100%.
В 2006 да управляет полученной рекламой для того, чтобы быть средством протестировать, затронут ли MacBook пользователя Неустойчивым Синдромом Завершения работы. Путем выполнения да команда дважды через Терминал в соответствии с Mac OS X, пользователи смогли истратить ЦП своего компьютера и таким образом видеть, был ли отказ связанным теплом
через Википедию: http://en.wikipedia.org/wiki/Yes_ (Unix)
Коллега использовал это новым способом ввести пароль
yes password | passwd
passwd
попросит старый пароль сначала, если пользователь не будет корнем или суперпользователем и не продолжит, если правильный пароль не вводится. Так или пользователь является корнем или password
старый пароль также, и ничто не изменяется.
– Michael Konietzka
10.11.2013, 18:25
ps
или top
в правильный момент).
– Federico Poloni
24.01.2016, 11:00
Это может быть спорным мнение, но на мой взгляд это некрасиво исправление плохого пользовательского интерфейса инструментов командной строки .
Некоторые инструменты командной строки задают пользователю вопросы с подсказкой и не имеют возможности работать в неинтерактивном режиме; представьте себе, например, что-то вроде
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
Поскольку ответ на вопрос берется из стандартного ввода, быстрое решение этой проблемы заключается в наличии приложения, которое непрерывно выводит строку y \ n
, что и есть да
делает. Каналы Unix могут использоваться для отправки этого вывода в качестве входных данных для данной команды.
$ yes | frobnicate
Одна из проблем с этим подходом заключается в том, что да
не имеет возможности проверить вопрос, на который он отвечает:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
Лучшее решение, когда оно доступно, - это конкретная опция для запуска без -интерактивно, например rm -f
или apt-get -y
. Это позволяет кодировать более разумное поведение в приложении.
Только что наткнулся на другое применение: любил стирать жесткий диск с шаблоном, отличным от нуля (например: dd if = / dev / zero of = / dev / sdd bs = 1M
) и использовал для него « да »:
да UUUUUUUUUUUUU> / dev / sdd
yes `yes yes`
– sendmoreinfo 21.04.2013, 16:49