我正在关注一个程序表示创建符号链接:
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
我的问题/担忧是程序中的 $:它的目的是什么?尝试谷歌没有成功
答案1
假设您打算在 shell 中输入此内容,这是一个命令替换。 shell 执行该命令DynamsoftBarcodeReader
并在该命令行中替换$(DynamsoftBarcodeReader)
为通过运行获得的输出DynamsoftBarcodeReader
。例如,如果命令DynamsoftBarcodeReader
打印/home/pi/Desktop/dbr
,则符号链接的目标将为/home/pi/Desktop/dbr/lib/libDynamsoftBarcodeReader.so
。
未来的访问者请注意:在 makefile 中,语法$(…)
具有不同的含义:它采用变量的值。本教程没有在任何地方提到 makefile,因此推测该命令旨在在 bash 之类的 shell 中的命令行上键入,并且这是一个命令替换。
如果$
实际位于符号链接中,则它没有特殊含义,符号链接只是指向恰好包含字符 的目标$
。但这里并没有发生这种情况。