Проблема заключается в неправильном синтаксисе в присвоении переменных.
$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
- очень важная переменная среды)
Если вы пишете программу для пользовательского пространства, вы не должны использовать заголовки ядра напрямую (будь то из arch
или include
- последние включают первые в соответствии с вашей архитектурой). Вам необходимо использовать заголовки, подготовленные для использования программами пользовательского пространства. Они обычно доступны в дистрибутивах в виде отдельного пакета, например, linux-libc-dev
в Debian; или вы можете подготовить их самостоятельно, следуя инструкциям по ссылке выше.
Что касается организации заголовков в ядре, все общие заголовки находятся в include
и его подкаталогах, а заголовки, специфичные для конкретной архитектуры, находятся в подкаталогах соответствующего каталога arch
. В большинстве случаев вы будете включать заголовки из include
(при написании кода ядра).