Использование tr -d '\ n'
, удаляет \ n
(т.е. символ новой строки), как ожидалось. Но вы проверяете это с помощью команды echo
. Команда Echo
сама помещает символ новой строки в конец входной строки, и, следовательно, вы не можете увидеть ожидаемый результат.
Проверьте переменную с помощью следующего набора команд.
test2=$(echo "$test" | tr -d '\n')
printf "%s" $test2 | od -c
echo -n $test2 | od -c
Вывод сценария:
0000000 h e l l o
0000005
0000000 h e l l o
0000005
Примечание: echo -n: Из справочной страницы echo: -n не выводить завершающую новую строку printf: не добавляет \ n в конец
Если вы хотите смонтировать один файл, чтобы содержимое этого файла было видно в точке монтирования, вам нужно монтирование с привязкой .
Этого можно добиться с помощью следующей команды:
# mount --bind /boot/config-4.14.90-v8 /usr/src/linux/.config
Вы можете использовать -o ro
, чтобы он читал -только по пути /usr/src/linux/.config
.
Для получения более подробной информации ищите связывание монтирования на справочной странице для mount (8).
Контурные устройства делают что-то похожее, но другое. Они монтируют файловую систему , хранящуюся в обычном файле, в другой каталог.
Таким образом, если у вас есть файловая система vfat или ext4 и т. д., хранящаяся в файле, скажем /vol/myfs.img
, вы можете смонтировать ее в каталог , скажем /mnt/myfs
, с помощью следующей команды:
# mount -o loop /vol/myfs.img /mnt/myfs
Вы можете передать его -t vfat
и т. д., чтобы указать тип файловой системы.
Обратите внимание, что -o loop
обычно не требуется, так как mount
поймет это, когда вы попытаетесь смонтировать файл, и сделает это за вас автоматически.
Кроме того, монтирование файла с помощью-o loop
(или автоматически обнаруженного )— это быстрый способ сопоставления этого файла с устройством /dev/loopX
, что также можно выполнить с помощью losetup
и последующего запуска команды монтирования, например как mount /dev/loop0 /mnt/myfs
. См. справочную страницу для lossup (8)для получения подробной информации о петлевых устройствах.
Хотя вы не можете смонтировать обычный файл, вы можете создать символическую ссылку /usr/src/linux/.config , указывающую на определенный локальный файл конфигурации ядра. Поскольку ваши конфигурации различаются, у этого метода есть свои ловушки, так как вам также придется поддерживать символическую ссылку локально, например /boot/config -по умолчанию , указывающую на фактический файл конфигурации, который затем можно использовать в Доля NFS.
Лучше использовать переменную окружения KCONFIG_CONFIG
, чтобы указать на альтернативный файл конфигурации ядра.
make menuconfig KCONFIG_CONFIG=/boot/config-4.14.90-v8
Из kernel.org:
KCONFIG_CONFIG
--------------------------------------------------
This environment variable can be used to specify a default kernel config
file name to override the default name of ".config".