这行是什么意思:/opt/glibc-2.14/etc$ sudo sh -c "echo '/usr/local/lib' >> ld.so.conf"

这行是什么意思:/opt/glibc-2.14/etc$ sudo sh -c "echo '/usr/local/lib' >> ld.so.conf"

我在尝试时遇到了问题安装 glibc 2.14,我收到这个错误

/home/myname/glibc_install/glibc-2.14/build/elf/ldconfig:无法打开配置文件/opt/glibc-2.14/etc/ld.so.conf:没有此文件或目录

使固定建议这个

:/opt/glibc-2.14/etc$ sudo sh -c "echo '/opt/lib' >> ld.so.conf"

AFAIK 的sudo sh -c "echo '/opt/lib' >> ld.so.conf"意思是打开sh程序(shell)并给它"echo '/opt/lib' >> ld.so.conf"执行这个命令,这会创建一个ld.so.conf在当前目录中命名的文件并保存在其中/opt/lib,对吗?整行是什么意思,或者 shell 将一步步做什么?

答案1

将命令: sudo sh -c "echo '/opt/lib' >> ld.so.conf" 分解为小块:

sudo sh -c表示以超级用户权限通过 Bourne shell 运行 shell 命令。

echo '/opt/lib' >> ld.so.conf会将引号内的所有内容 + \n(换行符)字符附加到文件尾部的 ld.so.conf 中。

答案2

是的令人困惑)看起来第一位是提示(包含工作目录)。

因此做

cd /opt/glibc-2.14/etc
sudo sh -c "echo '/opt/lib' >> ld.so.conf"

或者

echo '/opt/lib' | sudo tee >/dev/null -a /opt/glibc-2.14/etc/ld.so.conf

相关内容