Mount iso -o loop select loop device

Вы должны удалить косую черту перед тем, как вывести последнее поле с помощью awk. Иначе последнее поле будет пустым.

Используйте

echo "$url" | sed -e 's#/$##' -e 's/\.git$//' | awk -F / '{print $NF}'

или даже

echo "$url" | sed -e 's#/$##' -e 's/\.git$//' -e 's#^.*/##'

Советы:

  • Вы можете дать несколько команд sed одному вызову sed, поэтому иногда нет необходимости передавать команды из sed в sed. Либо sed -e 'cmd1' -e 'cmd2' ... или sed 'cmd1;cmd2;...' будут работать.
  • Вы можете использовать другой разделитель для s команды sed, чтобы не экранировать слеши в шаблоне (я использовал # в качестве разделителя).
0
24.05.2019, 01:06
1 ответ

Ошибка не в том, что у вас уже установлено другое устройство ISO; mount -o loopвсегда будет получать первое неиспользуемое шлейфовое устройство или создавать новое.

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

Вероятно, вы пытаетесь дважды смонтировать один и тот же ISO-образ в одну и ту же точку монтирования. Утилита mount(8)попытается защитить вас от этого, проверив, не прикреплен ли уже резервный файл к петлевому устройству, и повторно используя это устройство, вместо того, чтобы прикреплять один и тот же файл к нескольким петлевым устройствам.

Но если вы действительно хотите это сделать, вы можете обойти проверку, присоединив петлевое устройство вручнуюlosetup:

# mount -o ro a.iso dir/

# mount -o ro a.iso dir/
mount: /tmp/a.iso is already mounted

# losetup --show -f a.iso
/dev/loop1
# mount -o ro /dev/loop1 dir/
# 

Два вместе:

# dev=$(losetup --show -f a.iso) && { mount -o ro "$dev" dir/ || losetup -d "$dev"; }

Затем вы должны явно использовать параметр -dдля umount(8)или после этого отсоединить цикл вручную с помощьюlosetup -d:

# umount -d dir/

Это должно быть довольно безопасно с файловыми системами -только для чтения, такими как ISO. Никогда не используйте его с файловыми системами, смонтированными в режиме чтения -записи.

3
28.01.2020, 02:22

Теги

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