Назначение $ в символической ссылке?

Назначение $ в символической ссылке?

Я слежупроцедурачто указывает на создание символической ссылки:

sudo ln -s $(DynamsoftBarcodeReader)/lib/libDynamsoftBarcodeReader.so /usr/lib/libDynamsoftBarcodeReader.so

Я понимаю это так, что мне необходимо реализовать:

sudo ln -s /home/pi/Desktop/dbr/lib/libDynamsoftBarcodeReader.so /usr/lib/libDynamsoftBarcodeReader.so

Мой вопрос / беспокойство - это $ в процедуре: каково его назначение? Попытки поискать в Google не увенчались успехом

введите описание изображения здесь

решение1

Предполагая, что вы собираетесь ввести это в оболочке, этозамена команды. Оболочка выполняет команду DynamsoftBarcodeReaderи заменяет ее $(DynamsoftBarcodeReader)в командной строке выводом, полученным при запуске DynamsoftBarcodeReader. Например, если команда DynamsoftBarcodeReaderвыводит /home/pi/Desktop/dbr, то целью символической ссылки будет /home/pi/Desktop/dbr/lib/libDynamsoftBarcodeReader.so.

Примечание для будущих посетителей: в makefile синтаксис $(…)имеет другое значение: он принимает значение переменной. В этом руководстве makefiles нигде не упоминаются, поэтому, по-видимому, команда предназначена для ввода в командной строке, в оболочке, такой как bash, и там это подстановка команды.

Если бы $на самом деле был в символической ссылке, это не имело бы особого значения, символическая ссылка просто указывала бы на цель, которая случайно содержит символ $. Но здесь этого не происходит.

Связанный контент