LINUX.ORG.RU

3 симлинка одним однострочником - как?

 ,


3

3

У меня есть файл libamdocl64.so, мне нужно однострочником на баше (коротким, без &&) создать три симлинка на него, чтобы получилось вот так:

libOpenCL.so -> libamdocl64.so
libOpenCL.so.1 -> libamdocl64.so
libOpenCL.so.1.0.0 -> libamdocl64.so

Пытаюсь так:

ln -s libamdocl64.so libOpenCL.so{.1,.1.0.0}
и так:
ln -s libamdocl64.so {libOpenCL.so,libOpenCL.1,libOpenCL.1.0.0}
но не получается, гуглил, но ничего кроме неподходящих циклов и установки модуля zmv для zsh — не нашел.

Подскажите пожалуйста, это возможно? Если да, то как? Спасибо.



Последнее исправление: kep (всего исправлений: 1)

без цикла никак, ибо формат команды ln не позволяет указать несколько «целей» для одного файла.

только используя цикл for f in libOpenCL.so{,.1,.1.0.0}; do ln -sf libamdocl64.so $f; done

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

Я скопировал команду из исходного поста. Чтобы создавало, допиши ещё одну запятую сразу после открывающей фигурной скобки.

intelfx ★★★★★
()

Решение:

eval "ln -s libamdocl64.so libOpenCL.so"{,.1,.1.0.0}"; "

kep
() автор топика

Кто сказал костыли? Я здесь! Я всегда там, где косты... Ну блин, уже решили без меня.

nexfwall ★★★★
()

Зачем ты делаешь эту херню? libOpenCL.so это icd лоадер а не симлинк, он нужен чтобы одновременно работали дрова разных производителей.

anonymous
()

Вариант без eval:

printf "%s\n" libOpenCL.so{,.1,.1.0.0} | xargs -I{} ln -s libamdocl64.so {}

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

Если я пытаюсь запускать любое OpenCL приложение через:

LD_LIBRARY_PATH=/usr/local/lib64 blender
например (а эти файлы там и лежат), смотри суть таковую, то приложение без этих симлинков не видит OpenCL 2.0, только дефолтный месовский 1.1;

Это на дефолтной гентовской настройке, я ничего нигде не ломал.

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

Поздравляю тебя, всего тебе хорошего, если дашь свой почтовый адрес — смогу выслать тебе открытку с поздравлениями.

kep
() автор топика

Тот случай, когда явное лучше неявного.

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