LINUX.ORG.RU
ФорумJob

BASH: Давайте оптимизируем! Follow SymLinks


0

0

Дело было в субботу... Наваял я такой скрипт (с целью дальнейшего использования как функции для своей библиотеки), целью коего является следование симлинкам до упора с предусмотренным аварийным выходом на случай зацикливания.
Собственно, буду рад, если предложите, как сделать данный код компактнее, красивее и безбажнее. И вообще - может, всё одной командой можно сделать, а я просто не знаю такой команды?
Вот, собственно:
#!/bin/bash
pth=«$1»
already_seen=
while :; do
[[ $pth =~ / ]] && cd «${pth%/*}»
fpth=«`pwd`/${pth##*/}»
grep -q «^${fpth}$» <<<«$already_seen» && break
already_seen=«$already_seen
$fpth»
stat=$(stat -c %N «$pth»)
if [[ $stat =~ -\> ]]; then
pth=$(sed -nr «s%^.+\`([^']+)'%\1%p» <<<$stat)
else
pth=${stat:1:$((${#stat}-2))}
break
fi
done
echo «$fpth»


СОРРИ, НЕ В ОТ РАЗДЕЛ ПОМЕСТИЛ :(

★★★★★

Последнее исправление: DRVTiny (всего исправлений: 1)
Ответ на: комментарий от DRVTiny

Блин, а, зря старался :)
readlink -e рулит однозначно

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Visual_N

Хм... Я тоже люблю, но у меня фактически нет ног сейчас. Ну и больше одной уже не будет. А так - полностью солидарен с предыдущим оратором. Вон он, стоит в коридоре чёрный шоссер. Когда-то я на нём по Ленинскому вихрем на работу летал :(

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

дада, слышал истории, как ты чуть ли не через 3 полосы фигачил. надо быть сумасшедшим, чтоб ездить в москве по автомобильным дорогам на велике - как автомобилист говорю.

heisenberg ★★
()
Ответ на: комментарий от heisenberg

Ну, как бы сказать, меня сбил невменяемый от количества выпитого чувак - на тротуаре, когда я стоял и пялился в GPS-навигатор. Думал типа, а как тут проехать между Варшавкой и Каширкой, чтобы ещё в Симферополку лбом не упереться. Надо было дорогу полностью дома смотреть... А так, знаете, когда фигачишь через три полосы, водители ещё как хорошо тебя видят. Впрочем, насчёт 3-х полос - неправда, я просто часто ехал намного левее крайне правой полосы, что, кстати не любил, но развязки так уж устроены, что либо ты идёшь с потоком посередине, либо поворачиваешь туда, куда тебе совсем не нужно, либо прёшь поперёк потока на поворот (зачастую более плотного, чем поток прямо), и тогда тебя просто намазывают на асфальт, как на масло на бутерброд.
И вообще я нифига не инвалид. Таковым себя не ощущаю, а когда восстановится правая нога вообще пошлю всё нафиг и пойду работать курьером, чтобы ХОДИТЬ, ХОДИТЬ, ХОДИТЬ. Ну с протезом, ну так и что? Мало ли людей с протезам вокруг,а вы этого даже не замечаете. Ну разве что повышенный уровень физической активности и колоссальная энергия выдают их с головой. Однажды потеряв свободу передвижения потом начинаешь её ещё как ценить, это уж поверьте :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Блин

Только позавчера сбили, летел, как птичка. Ушибами отделался и ссадинами. Отлёживаюсь пока. Но без велосипеда не могу.

kraftello ★★★★★
()
Ответ на: Блин от kraftello

Да и не будет ничего. То есть нужно вести себя разумно, но всего не учтёшь, да и не надо по-моему.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

разве кто-то говорит, что ты инвалид? ты молодец, действительно. я, наверное, не справился бы. забухал бы, епт.

heisenberg ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.