Цепная загрузка EFI grub2 из i386-pc grub2

Я думаю, что стилдрайвер прав в своем последнем комментарии. Я частый пользователь Cygwin и видел странные вещи, происходящие с текстом, который я по ошибке не вернул каретке -.

Давайте проведем эксперимент. У меня есть очень простая выжимка вашего сценария:

result="$(cat $1)"
result="{\"docs\":[$result]}"
echo $result

Мой ввод

{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}

Запуск с правильными окончаниями строк:

{"docs":[{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}]}

Это то, что мы ожидаем.

Теперь я добавляю возврат каретки к строке ввода (с помощью Ctrl -K+Ctrl -M в vim )и запускаю снова:

{"docs":[{"_id":"VT_CONSULTATION","name":"External Consultation","type":"VISIT_TYPE","sections":["HS_SECTION_AMBU"],"displayFields":[{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_IS_ACNC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeId":"EVT_MAIN_DIAGNOSTIC"},{"eventTypeId":"ET_CONSULTATION","elementValueTypeI]}:"EVT_IS_CONTROL_CONSULTATION","displayTrueValue":"Control visit","displayFalseValue":""}],"_rev":"rev"}

Ой. Посмотрите, где окончательный ]}оказался (прямо перед "EVT _IS _CONTROL _CONSULTATION" ). Они не смещены точно так же, как у вас, но это подозрительное сходство.

Подобные эффекты могут быть вызваны другими управляющими символами. Простой способ проверить, существуют ли такие символы, — использовать grep '[^[:print:]]', который ищет любые «не -печатаемые» символы (, то есть невидимые вещи, такие как управляющие символы ). Если grep возвращает что-либо, подтверждающее это, в этот момент существуют различные способы найти и исправить оскорбительный символ (s ). Например, вы можете использовать одно и то же регулярное выражение с sed . Или используйте шестнадцатеричный редактор (или даже vim/xxd ). Если это CR, то должна выполняться та же команда sed, что и OP:sed 's/\r//g'

0
30.07.2019, 08:03
1 ответ

Вы не можете по цепочке -загрузить 64 -битный исполняемый файл из 32 -битного, но верно и обратное :32 -битный один может быть цепочкой -загружен из 64 -битная версия, но зачем вам это? Просто обновите существующую до 64 -бит и вместо этого объедините файлы конфигурации.

Если вы пытаетесь сделать это, потому что у вас 32 -битная прошивка EFI, вам может не повезти :, даже если ваш ЦП может поддерживать 64 -бит (, вы проверяли? ), вам необходимо сначала обновить прошивку с сайта производителя, но, к сожалению, большинство мелких брендов не заинтересованы в том, чтобы вы могли обновить прошивку с 32 до 64 бит:они предпочли бы, чтобы вы купили новый ПК.

Если у вас крупный бренд :, сначала зайдите на сайт производителя.

0
28.04.2021, 23:30

Теги

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