Вы могли использовать "xargs". Тривиальный пример:
ls -1 *.c | sort -n | xargs cat
Необходимо было бы заботиться, что xargs не разделяет свой stdin на два или больше вызова афериста ("кошка" в примере выше).
Постарайтесь не превращать локальные установки в системные каталоги. Системные каталоги, например, /usr
, резервируются, чтобы система управления пакета использовала. По определению, если Вы делаете make install
это означает создание локальной установки, и если необходимо сделать sudo make install
это означает, что у Вас нет разрешения к где бы вы ни были записи.
Так, если Вы получаете ошибки разрешения с make install
, проверьте и посмотрите, пытаетесь ли Вы установить в системные каталоги и установку в /usr/local
или подобный вместо этого. /usr/local
резервируется для локальных установок. Вы, возможно, должны дать себе разрешение записать в /usr/local
, но это обычно легко делается. На Debian это может быть сделано путем добавления себя к staff
группа. Лучше все еще найдите или создайте двоичный пакет и установку это вместо этого. Тем путем можно легко отслеживать установленные пакеты и получить другие преимущества управления пакетом.
Обратите внимание, что система управления пакета с другой стороны не устанавливает в /usr/local
, на FHS. Посмотрите Раздел 9.1 из Руководства политики Debian - Иерархия файловой системы для обзора.
Вот основное краткое изложение команд, вопрос:
С тех пор sudo команда выполняет команду, Вы передаете ее как корень, это означает, что сделать команда имеет полномочия суперпользователя. Это означает, что, если make-файл является злонамеренным, или какой-либо из сценариев, он может звонить, является злонамеренным, затем он мог поставить под угрозу Вашу систему.
Короче говоря, если Вы не доверяете программному обеспечению, не устанавливайте его. Если Вы доверяете программному обеспечению, то выполнение как корень ничего не должно повреждать.
Примечание:
sudo make install
совпадает с su; make install
в большинстве случаев.
Как был отвечен выше, sudo make install
позволяет Вам установить файлы в каталогах, которые в других отношениях только для чтения Вам как пользователь.
Проблема, которую я могу предвидеть, состоит в том, что позднее можно хотеть удалить или обновить программу. Если у Вас все еще есть дерево каталогов исходного кода затем a make uninstall
удалит программу для Вас, но если, как многие другие типичные пользователи, Вы удалили дерево каталогов исходного кода затем, Вам не повезло. И так как Вы не установили программу с помощью системы управления пакета, можно также не мочь удалить программу тот путь.
Лучший способ установить такие программы может состоять в том, чтобы установить их в Вашем корневом каталоге. Передайте опцию --prefix=/home/<user>/<some>/<directory>
кому: ./configure
. Это позволит Вам использовать make install
вместо sudo make install
с тех пор /home/<user>/<some>/<directory>
перезаписываемо Вами. Также удаление является снимком- rm -rf /home/<user>/<some>/<directory>