Що таке команда "так"?


29

Я видав команду в терміналі Ubuntu, яка вимагала від мене набрати так, але я виявив, що це запитує мене лише перший раз, але я вже натиснув клавішу enter, перш ніж зрозумів. Тому я очікував повідомлення "Не знайдено", але натомість отримав нескінченний потік "y" s. Це здається єдиним, що це робить, тому мені цікаво, в чому суть цієї команди і чому вона видає "у" с? (Ubuntu 11.10)

Відповіді:


14

З Вікіпедії :

Сама по собі команда так виводить "y" або те, що вказано в якості аргументу, після чого повторно повторюється новий рядок, поки користувач не зупинить його або вчинить іншим способом; коли передається в команду, вона продовжуватиметься до розриву труби (тобто програма не завершить її виконання).

Він також може бути використаний для перевірки того, наскільки добре система справляється з високими навантаженнями, оскільки використання так призводить до 100% використання процесора для систем з одним процесором (для багатопроцесорної системи процес повинен бути запущений для кожного процесора). Наприклад, це може бути корисно для дослідження, чи буде система охолодження системи ефективною, коли процесор працює на 100%.


30

Давно (SySV дні і раніше) fsckкоманда не мала -yабо -nопцій. Команда буде інтерактивно просити вас змінити сотні чи тисячі елементів, очікуючи 'y' або 'n'. yesКоманда була створена для труби FSCK, і деякі інші програми , щоб мати можливість повторного відповіді на інтерактивні питання (знову ж , це було SysV днів, задовго до того, Tcl і Expect). yesПрограма підходить дуже добре з філософією UNIX: невеликі програми , які роблять конкретні речі дуже добре і працювати з іншими програмами.


4

На підставі наданої тут інформації: http://linux.about.com/library/cmd/blcmdl1_yes.htm

Команда Linux / Unix: так

Командна бібліотека

ІМ’Я

так - виводити рядок кілька разів, поки не буде вбито

СИНОПИС

так [STRING] ... так ВАРІАНТ

ОПИС

Неодноразово виводьте рядок із усіма вказаними STRING (ими) або `y '.

- допоможіть відобразити цю допомогу та вийти - інформація про вихідну версію та вийдіть
ДУЖЕ ТАКОЖ

Повна документація на так зберігається як посібник з Texinfo. Якщо програми info та yes правильно встановлені на вашому сайті, команда

info yes

має надати доступ до повного посібника.

На мою скромну думку, використання команди "так" звучить логічно, коли вам доведеться кілька разів авторизувати щось у процесі / скрипті натисканням клавіші "y". Яким можна керувати, скасувавши виконання програми.

У будь-якому випадку, хтось ще може мати досвід використання цієї команди.


У мене немає багато досвіду Linux, як ви могли використовувати команду "так" всередині процесу / сценарію?
Грег Трелівен


1

Команда так або надрукує свій аргумент, або "y", якщо він порожній, поки ви не закінчите програму або її вихідна труба не закрита. Його можна використовувати з програмами, які очікують певного повторного введення, наприклад, rm -i.


1
чому б ви робили ітераційний rm, якщо ви використовуєте так, щоб видалити все?
fromnaboo

@fromnaboo Це поганий приклад, я знаю. Але іноді у вас немає доступу до внутрішньої роботи програми, яку ви повинні використовувати, і тому так може допомогти вам уникнути нескінченного повторення одного і того ж вводу.
daniel kullmann

@fromnaboo Для підвищення позитивної роботи вашої машини.
Walf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.