U-Boot Falcon Mode ft. RFS

testing2= устанавливает переменную testing2 в пустую строку; на самом деле переменная установлена.

Однако если бы вы выполнили echo $testing99 в интерактивной оболочке Bash (без установки errexit, т.е., set -e), вы получите ошибку:

bash: testing99: unbound variable

В сторону

Только что, тестируя скрипты, я обнаружил, что интерактивный shell не всегда выходит при попытке расширить переменную, которая не была установлена, в то время как неинтерактивный shell (выполняющий shell-сценарий) всегда выходит. Согласно странице POSIX man для set:

-u Оболочка должна записывать сообщение в стандартную ошибку, когда она пытается расширить переменную, которая не установлена, и немедленно завершить работу. Интерактивная оболочка не должна выходить.

Интерактивная оболочка Bash не выйдет, если errexit не был также установлен. С другой стороны, интерактивная оболочка dash не выйдет, даже если ранее была установлена set -e.

0
13.04.2019, 15:29
1 ответ

В настоящее время я сам борюсь с режимом Falcon. Я почти уверен, что вам нужно установить bootargsна то, что вы хотите передать ядру, прежде чем вы сделаете spl export. spl exportредактирует FDT, чтобы иметь bootargs. Сообщение об ошибке похоже на пустую командную строку ядра. Ваш bootcmdне будет выполняться в режиме Falcon.

0
28.01.2020, 03:49

Теги

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