update-grub не обновляет /boot/efi/EFI/ubuntu/grub.cfg

Символ > предназначен для перенаправления файлов для запуска файла. Символ >> предназначен для перенаправления файлов в конец файла (добавление). Символ | предназначен для «трубопровода» или передачи вывода из одной команды в качестве входа в другую команду.
$ echo "Hello" > file.txt
$ echo "World!" >> file.txt
$ cat file.txt
Hello
World!
$ cat file.txt | grep !
World!

Команда grep (глобальное регулярное выражение) ищет файл для заданной строки поиска и печатает строку, в которой он находится.

&>0 согласно Руководство для сценариев Advanced-Bash:

&>filename
  # Redirect both stdout and stderr to file "filename."
  # This operator is now functional, as of Bash 4, final release.

В вашем случае имя файла было 0, которое является стандартным вводом. Таким образом, он перенаправляет все выходные данные на вход. Который, насколько я могу судить, это круговая ссылка, которая не сработает. Используемый вами синтаксис - это >&0, который перенаправляет вывод на вход.

«filenames»:

Символ > предназначен для перенаправления файлов для запуска файла. 1] 1 стандартный вывод Символ >> предназначен для перенаправления файлов в конец файла (добавление).

Традиционный способ использования файлового дескриптора 0 (стандартный ввод) через перенаправление файлов:

 0< FILENAME
    < FILENAME
      # Accept input from a file.
      # Companion command to ">", and often used in combination with it.
      #
      # grep search-word <filename

Если вы хотите использовать команду echo и | вместе (как указывает ответ Занны) вы можете использовать:

$ echo "hello" | cat > file.txt
$ cat file.txt
hello
2
задан 27 April 2018 в 18:00

5 ответов

корень причины: ошибка пользователя.

Я случайно скопировал /boot/grub/grub.cfg в /boot/efi/EFI/ubuntu/grub.cfg при попытке отладки некоторых настроек grub не вступил в силу. С этого момента поведение в моей системе было нестандартным.

благодаря oldfred для того, чтобы помочь мне понять, что исходный файл /boot/efi/EFI/ubuntu/grub.cfg только что был трехстрочным файлом, ссылающимся на /boot/grub.cfg.

0
ответ дан 22 May 2018 в 11:12

корень причины: ошибка пользователя.

Я случайно скопировал /boot/grub/grub.cfg в /boot/efi/EFI/ubuntu/grub.cfg при попытке отладки некоторых настроек grub не вступил в силу. С этого момента поведение в моей системе было нестандартным.

благодаря oldfred для того, чтобы помочь мне понять, что исходный файл /boot/efi/EFI/ubuntu/grub.cfg только что был трехстрочным файлом, ссылающимся на /boot/grub.cfg.

0
ответ дан 17 July 2018 в 16:02

корень причины: ошибка пользователя.

Я случайно скопировал /boot/grub/grub.cfg в /boot/efi/EFI/ubuntu/grub.cfg при попытке отладки некоторых настроек grub не вступил в силу. С этого момента поведение в моей системе было нестандартным.

благодаря oldfred для того, чтобы помочь мне понять, что исходный файл /boot/efi/EFI/ubuntu/grub.cfg только что был трехстрочным файлом, ссылающимся на /boot/grub.cfg.

0
ответ дан 23 July 2018 в 16:57

Я тоже столкнулся с этим. Чтобы обновить EFI grub.cfg, вы хотите:

grub-install --efi-directory=/boot/efi

Если ваш EFI установлен на /boot/efi.

0
ответ дан 17 July 2018 в 16:02

Я тоже столкнулся с этим. Чтобы обновить EFI grub.cfg, вы хотите:

grub-install --efi-directory=/boot/efi

Если ваш EFI установлен на /boot/efi.

0
ответ дан 23 July 2018 в 16:57

Другие вопросы по тегам:

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