Что означает эта строка :/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: Нет такого файла или каталога

The fix предложил это

:/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, верно? что означает вся строка или что оболочка будет делать шаг за шагом?

0
18.04.2019, 21:19
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
1
28.01.2020, 02:30

Разбивка команды :sudo sh -c "echo '/opt/lib' >> ld.so.conf" на фрагменты размером укуса:

sudo sh -cозначает запуск команды оболочки через оболочку Bourne с привилегиями суперпользователя -.

echo '/opt/lib' >> ld.so.confдобавит все, что находится внутри кавычек + символ \n (новой строки )в ld.so.conf в конце файла.

1
28.01.2020, 02:30

Теги

Похожие вопросы