Yes (Unix)

Версія ад 00:23, 16 сакавіка 2023, аўтар Zhuzhal (размовы | уклад) (Функцыя прапаноў спасылак: дададзены 2 спасылкі.)

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

(англ.)