Оболочки POSIX имеют один массив: позиционные параметры ($1
, $2
, и т.д., коллективно отнесенный в как "$@"
).
set -- 'foo/target/a.jar' 'foo/target/b.jar' 'bar/target/b.jar' 'bar/target/lol whitespace.jar'
set -- "$@" '/another/one at the end.jar'
…
for jar do
dostuffwith "$jar"
done
Это неудобно, потому что существует только один, и это уничтожает любое другое использование позиционных параметров. Позиционные параметры локальны для функции, которая является иногда благословением и иногда проклятием.
Если Ваши имена файлов, как гарантируют, не будут содержать новые строки, можно использовать новые строки в качестве разделителя. Когда Вы разворачиваете переменную, сначала выключаете globbing с set -f
и набор список полевых символов разделения IFS
содержать только новую строку.
INPUT="foo/target/a.jar
foo/target/b.jar
bar/target/b.jar
bar/target/lol whitespace.jar"
…
set -f; IFS='
' # turn off variable value expansion except for splitting at newlines
for jar in $INPUT; do
set +f; unset IFS
dostuffwith "$jar" # restore globbing and field splitting at all whitespace
done
set +f; unset IFS # do it again in case $INPUT was empty
С объектами в Вашем списке, разделенном новыми строками, можно использовать много команд обработки текста полезно в особенности sort
.
Не забудьте всегда помещать двойные кавычки вокруг подстановок переменных, кроме тех случаев, когда Вы явно хотите, чтобы полевое разделение произошло (а также globbing, если Вы не выключили это).
Если в BIOS поддерживается загрузка с USB, можно использовать один из файлов образа -memstick.img
, расположенный в той же области, что и файл .iso
. Вы можете записать этот образ непосредственно на USB-накопитель, используя -образ Win32 Disk Imager или аналогичный, а затем загрузиться с него для установки.
Это функция BIOS на любом типе оборудования, с которым вы пытаетесь загрузиться.
Если BIOS поддерживает это, очевидный вариант - записать DVD и использовать устройство DVD на базе USB. Если ваш BIOS не поддерживает это, никакой уровень магии загрузочной записи не исправит этого.
Суть в том, чтобы потратить некоторое время на анализ вашего BIOS и, возможно, на его перепрошивку до последней / лучшей версии (со всей присущей ей болью). Неспособность вашего BIOS найти цель загрузки на самом деле не является проблемой FreeBSD. (извините, звучит резче, чем я предполагал.)