В одной из систем Ubuntu 8.10 я использую описанный ниже подход, если мое устройство не монтируется автоматически.
Выполните команду fdisk -l
.из man-страницы fdisk
,
-l List the partition tables for the specified devices and then
exit. If no devices are given, those mentioned in /proc/parti-
tions (if that exists) are used.
Теперь, даже когда мое USB не смонтировано, вышеприведенная команда выдаст список USB-накопителей. Теперь, вы, вероятно, можете создать точку монтирования где-нибудь в /media
или где угодно и вручную смонтировать USB диск как,
mount /dev/sda1 /media/usb-drive
Есть несколько проблем с вашим скриптом.
$ (ссылка для чтения…)
. Это сломается, если цель ссылки содержит пробелы или подстановочные знаки. ln
и используете результат как команду для выполнения. К счастью, это не причинит вреда, поскольку ln
не производит никакого вывода. mv
перемещает символическую ссылку в целевое местоположение, что не имеет смысла. Я думаю, это то, что вы хотели написать:
#!/bin/sh
ln -rs -- "$(readlink -f -- "$1")" "$1.tmp"
mv -f -- "$1.tmp" "$1"
В качестве альтернативы вы можете использовать утилиту symlinks
(первоначально от Марка Лордса, теперь поддерживаемую Дж. Брандтом Бакли), присутствующую во многих дистрибутивах Linux. .
Команда символические ссылки -c / путь / к / каталогу
преобразует все символические ссылки в указанном каталоге в относительные ссылки.