Получение названия файла, на который указывает символьная ссылка в переменной

Много этого материала находится в devices.txt из исходной документации ядра (src/Documentation/devices.txt), также доступный здесь.

2
13.11.2013, 18:57
2 ответа

В zsh,

y=${x:A:t}

расширился бы до хвоста полного пути $x. Таким образом, это было бы some_file.txt если some_file.txt самостоятельно символьная ссылка на что-то еще.

Иначе можно использовать zsh zstat встроенный:

zmodload zsh/zstat
zstat -A y +link -- $x && y=$y:t
3
27.01.2020, 21:54

Можно использовать readlink получить путь конечного файла и затем basename извлечь его имя файла:

y="$(basename -- "$(readlink -- "$x")")"
3
27.01.2020, 21:54

Теги

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