Какова цель флага kern.geom.debugflags в FreeBSD?

Поведение является зависимым оболочки.

Вы объявили функцию не POSIX путь. Портативный синтаксис был бы

func()
{
...

Вы, вероятно, использовали bash запускать Ваш скрипт. bash не имеет никакого значения между нестандартным синтаксисом, который Вы использовали и стандартный. В обоих случаях, $0 обратитесь к названию сценария.

Если Вы использовали AT&T или реализацию общественного достояния ksh который представил синтаксис, Вы используете и рассматриваете функции, объявленные с function маркер по-другому, Вы наблюдали бы поведение, которое Вы ожидали:

$ cat go
function func
{
    echo $0: $1 and $2
}
func1()
{
    echo $0: $1 and $2
}
func ball boy
func1 ball boy
$ bash go
go: ball and boy
go: ball and boy
$ ksh go
func: ball and boy
go: ball and boy
2
08.04.2015, 15:35
1 ответ

Из коробки вы не можете написать на MBR диск, который является одним из FreeBSD Boots. После установки Sysctl Kern.geom.debugflags = 16 (или Kern.geom.debugflags = 0x10 , который все равно) Вам разрешено стрелять в ногу и писать в MBR Отказ

Это полезно для резервного копирования и восстановления MBR или Bootcode с использованием DD : backup and restore MBR via dd

Единственный способ записи в MBR без прикосновения к этому SYSCTL - загрузить ваш FreeBSD в однопользовательском режиме и работать с MBR, а root FileSystem устанавливается только для чтения. Если загрузить в однопользовательском режиме, а затем перемещать корневую файловую систему в RW-режиме, вам нужно будет установить этот Sysctl для записи в MBR. Если обычно загружается в многопользовательском режиме, а затем перейдите в однопользовательский режим (набрав . Без без -R или -H аргументы), вы бы Еще нужно иметь дело с этим sysctl для записи в MBR.

3
27.01.2020, 22:05

Теги

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