Я не попробовал это, но Вы смогли загружать FreeBSD при первом создании BSD disklabel на диске.
Я настоятельно рекомендую читать Linux + практическое руководство FreeBSD для получения информации о BSD и разделах Linux прежде, чем сделать что-либо еще. Я объясню, что сделать с fdisk
поскольку это ближе к металлу.
Вы можете выполнять действия ниже от Разделенного; я не знаю, ли его поддержка разделов BSD до задачи. Я советую Вам пробовать Разделенный прежде fdisk, поскольку это менее подвержено ошибкам.
Во-первых, из Linux, создайте таблицу разделов BSD. Выполненный fdisk /dev/sda
(или какой бы ни диск Вы хотите установить FreeBSD на), и:
/dev/sda1
через /dev/sda4
) с n
команда. Это будет содержать все из FreeBSD, так измерять его соответственно.a5
(FreeBSD) с t
команда.b
команда.n
команда) раздел BSD a
это использует часть места, выделенного к FreBSD; обычно a
раздел запускает 64 КБ с начала пространства BSD. Это - корневой раздел. Установите его тип (с t
команда) к 7
(4.2BSD).b
это использует часть места, выделенного к FreeBSD. Это будет разделом подкачки; установите его тип на 1
(подкачка). Я думаю, что этот шаг является дополнительным.d
раздел, что Linux fdisk
созданный.x
команда для создания раздела BSD d
это совпадает с разделом, где Вы хранили файл установки FreeBSD.w
записать новый BSD disklabel в диск и работать w
снова в главном меню для записи таблицы разделов ПК в диск.Обратите внимание, что это все очень подвержено ошибкам; опечатка могла уничтожить все Ваши данные. Снова, если Разделено может сделать это, использовать Разделенный.
После того как Вы создали разделы BSD, попробуйте метод № 2 или метод № 3 снова.
Поскольку слово должно соответствовать строке, которая будет обрезана. Это должно быть похожим:
url="http://www.foo.bar/file.ext"; echo "${url##*/}"
Спасибо derobert, Вы регулировали меня в правильном направлении.
Заключить страницу справочника в кавычки:
${parameter##word}
Remove matching prefix pattern. The word is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
the beginning of the value of parameter, […]
/*
не соответствует началу, потому что Ваш URL запускается с h
нет /
.
Тривиальный способ сделать, что Вы ищете (согласно Вашему комментарию) echo "$url" | rev | cut -d / -f 1 | rev
. Но конечно, это даст интересные результаты для URL, заканчивающихся в наклонной черте.
Другой способ сделать, что Вы хотите, мог бы состоять в том, чтобы использовать шаблон */
вместо этого.
См. также: Расширенный Globbing Bash, хотя в этом случае расширенный шарик не важен.
shopt -s extglob; url=http://www.foo.bar/file.ext; echo ${url##+(*/)}
Вывод: file.ext
basename
(1 )también funciona con URL, por lo que simplemente podría hacer:
url=http://www.foo.bar/file.ext; basename $url