Понимание каталога include в ядре Linux

Проблема заключается в неправильном синтаксисе в присвоении переменных.

$a=/opt
$b=var
$c=usr
$path=/$a/$b/$c/man

.. никогда не будет работать, так как перед назначением переменных не должно быть символа $ .

Вместо этого вы должны сделать это следующим образом:

a=opt
b=var
c=usr
dir=/$a/$b/$c/man
cd $dir

Обратите внимание, что я изменил окончательное имя переменной, так как использовать две переменные с одинаковым именем, но в другом регистре - плохая идея, так как это может сбивать с толку. ( PATH - очень важная переменная среды)

1
24.03.2017, 01:33
1 ответ

Если вы пишете программу для пользовательского пространства, вы не должны использовать заголовки ядра напрямую (будь то из arch или include - последние включают первые в соответствии с вашей архитектурой). Вам необходимо использовать заголовки, подготовленные для использования программами пользовательского пространства. Они обычно доступны в дистрибутивах в виде отдельного пакета, например, linux-libc-dev в Debian; или вы можете подготовить их самостоятельно, следуя инструкциям по ссылке выше.

Что касается организации заголовков в ядре, все общие заголовки находятся в include и его подкаталогах, а заголовки, специфичные для конкретной архитектуры, находятся в подкаталогах соответствующего каталога arch. В большинстве случаев вы будете включать заголовки из include (при написании кода ядра).

3
27.01.2020, 23:24

Теги

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