set command with – flag

У меня есть файл (называемый текстом), который содержит два поля строк (разделенных пробелом), как и следующее:

1.2.3 version1 

Когда я использую команду set следующим образом, у меня есть первое поле в поле $ 1 и второе поле в $ 2. Может кто-нибудь объяснить, что делает эта команда? В частности, что? Это перенаправление ввода?

 set -- $(<text) 

One Solution collect form web for “set command with – flag”

Эта команда объединяет два довольно специальных трюка …

задавать —

Обычно этот параметр используется для настройки параметров оболочки (см. Справочную страницу вашей оболочки). Установлен специальный случай. Это используется для установки позиционных параметров. К сожалению, я забыл, о чем это было, но однажды я прочитал о проблеме, которая не могла быть решена другими способами.

$ (<файл)

$(command) – подстановка команд: оболочка собирает вывод на stdout и заменяет $(command) на этот вывод при выполнении командной строки. Если вам нужно содержимое файла, вы можете сделать это: $(cat file) . $(< file) – это всего лишь короткая версия, сохраняющая ненужный процесс ( cat ).

  • Сортировка фотографий с использованием сценария оболочки
  • Ввод пароля вручную
  • Как проверить параметр установлен на bash-скрипт?
  • Скрипт для входа на несколько серверов и выполнения команд и добавления вывода в один файл
  • Передавать параметр из одного сценария оболочки в другой
  • Я пытаюсь разобрать данные по двум разделителям
  • как копировать файлы, такие как Microsoft Robocopy, в debian?
  • Невозможно получить фактический подсчет строк из-за возврата каретки в значения:
  • Нажмите любую клавишу для приостановки сценария оболочки, нажмите еще раз, чтобы возобновить
  • Изменение формата даты и добавление к исходному файлу
  • Shell: проверьте, существует ли контейнер-докер
  • Linux и Unix - лучшая ОС в мире.