Какой смысл “да” команда?

необходимо сделать стандартную программу в постустановке пакета, которая копирует содержание того, что необходимо поставить дом пользователя

Что-то вроде этого:

# 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

Надежда можно использовать его.

40
10.11.2017, 23:21
4 ответа

да может использоваться для отправки утверждения (или отрицательный; например, да n) ответ на любую команду, которая иначе запросила бы один, таким образом, заставив команду работать нев интерактивном режиме.

Да команда в сочетании с главной командой может использоваться для генерации файлов большого объема для средств тестирования.

Это может также использоваться, чтобы протестировать, как хорошо система обрабатывает высокие загрузки, как использование да результаты в 100%-м использовании процессора, для систем с единственным процессором (для многопроцессорной системы, процесс должен быть выполнен для каждого процессора). Это, например, может быть полезно для исследования, будет ли система охлаждения системы эффективной, когда процессор достигнет 100%.

В 2006 да управляет полученной рекламой для того, чтобы быть средством протестировать, затронут ли MacBook пользователя Неустойчивым Синдромом Завершения работы. Путем выполнения да команда дважды через Терминал в соответствии с Mac OS X, пользователи смогли истратить ЦП своего компьютера и таким образом видеть, был ли отказ связанным теплом

через Википедию: http://en.wikipedia.org/wiki/Yes_ (Unix)

42
27.01.2020, 19:35
  • 1
    Для дополнительного повреждения попробовать yes `yes yes` –  sendmoreinfo 21.04.2013, 16:49
  • 2
    я получил эту идею, потому что X-сервер разрабатывается в андроиде, но это не имеет менеджера окон и связывается Здесь, он объявил шрифты для отображения текстовых данных. Так, если можно просто скользить через тот код и сказать мнение. Это было бы большим. –  Tobias Kienzler 13.11.2013, 11:12

Коллега использовал это новым способом ввести пароль

yes password | passwd
1
27.01.2020, 19:35
  • 1
    passwd попросит старый пароль сначала, если пользователь не будет корнем или суперпользователем и не продолжит, если правильный пароль не вводится. Так или пользователь является корнем или password старый пароль также, и ничто не изменяется. –  Michael Konietzka 10.11.2013, 18:25
  • 2
    @MichaelKonietzka действительно. Но с условиями Вы упомянули, что это - полезный вариант использования все еще. –  frogstarr78 16.11.2013, 08:00
  • 3
    Кроме этого сохранился бы в истории в простом тексте. Crazeyyy. –  Gleno 16.08.2014, 22:20
  • 4
    @Gleno в ударе, можно ли предшествовать ему с пространством, чтобы препятствовать тому, чтобы он был зарегистрирован (как в stackoverflow.com/q/640403/118153) –  Iiridayn 08.12.2014, 10:36
  • 5
    кроме того, это пропускает пароль всем локальным пользователям в списке процессов (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 . Это позволяет кодировать более разумное поведение в приложении.

20
27.01.2020, 19:35

Только что наткнулся на другое применение: любил стирать жесткий диск с шаблоном, отличным от нуля (например: dd if = / dev / zero of = / dev / sdd bs = 1M ) и использовал для него « да »:

да UUUUUUUUUUUUU> / dev / sdd

2
27.01.2020, 19:35

Теги

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