Yes (Unix)

(Пасля перасылкі з Yes, Unix)

yes — каманда Unix. якая бясконца выводзіць радок «y» альбо свой аргумент у камандны радок.

Апісанне каманды правіць

Праграма yes без параметраў выводзіць у камандны радок безліч сімвалаў «y», за кожным з якіх адлюстроўваецца сімвал канца радка. Пры наяўнасці параметраў яна выводзіць іх на экран, таксама дадаючы ў канец сімвал пераносу радка. Так яна працуе, пакуль карыстальнік самастойна не спыніць працэс (напрыклад, камандай kill), альбо не завершыцца праграма, да якой быў перанакіраваны яе выхадны паток.

Выкарыстанне правіць

Каманда рэдка выкарыстоўваецца сама па сабе, часцей а ўсё яна аб'ядноўваецца з іншымі (з дапамогай канвеера). Yes можа выкарыстоўвацца ў такіх выпадках:

  • Для станоўчага адказу (альбо адмоўнага, «yes n») на шматлікія паслядоўныя пытанні, напрыклад

$ yes | rm -r ~/.* (тое жа, што і rm -rf ~/.*)

выдаляе ўсе налады карыстальніка.
  • Для шматразовага запуску каманды:

$ yes ls | sh

  • Для запуску іншай праграмы ў неінтэрактыўным рэжыме:

yes | fsck /dev/hda1

запускае fsck для праверкі файлавай сістэмы.
  • Для стварэння вялікіх файлаў з паўтаральнай інфармацыяй (у канвееры з камандай head), напрыклад:

$ yes Wikipedia | head -5000 > wiki.txt

стварае файл wiki.txt з пяццю тысячамі радкоў «Wikipedia» (з сімвалам пераносу радка).
  • Каманда yes часам выкарыстоўваецца з тэставымі мэтамі. Наступны код генерыруе гук з частатой 4 кГц:

$ yes > /dev/dsp

$ yes > /dev/null

Гл. таксама правіць

Man-старонка праграмы yes

(англ.)