Это - давняя ошибка в расширении псевдонима удара. Я мог воспроизвести его на Debian lenny amd64 с ударом 3.2.29 (1), Debian сжимают i386 с 4.1.5 (1), и Windows XP с Cygwin 1.7.7-1 с ударом 4.1.9 (3).
Несколько экспериментов показывают, что ошибка очень чувствительна к вариациям в том, как псевдоним используется. hgfoo
или hgfoo :
показывает ошибку, но { hgfoo :; }
и (hgfoo)
хорошо работать. Используя функцию вместо псевдонима также работает.
Я занялся расследованиями немного, пытаясь извлечь меньший пример. Странность, кажется, происходит от наличия новой строки в псевдониме. Вот простой пример, где удар (3.2.29 или 4.1.9) неправильно себя ведет. Этот псевдоним работает как ожидалось (от моего чтения Единственного Unix v3) под pdksh, ksh93, пепел и zsh под Debian lenny, а именно, oops
печать foo bar
.
$ alias oops='a=$(echo bar)
> echo foo $a'
$ oops
foo foo echo bar
Ошибка может быть связана с ошибкой, о которой сообщают, о “странных отложенных псевдонимах”, но то обсуждение фокусируется на продолжениях строки (новая строка обратной косой черты), которая не используется здесь.
В любом случае используйте функцию! Псевдонимы для острот, где Вы просто указываете некоторые опции по умолчанию для команды. Функция обладала бы дополнительным преимуществом, которому Вы могли передать аргументы hg
:
hgfoo () {
localChanges=$(hg st -m "$@")
…
}
¹ я первоначально думал, что это было ошибкой Cygwin, но как ak2 указанный, эта ошибка происходит в соответствии с Linux также.
Если Вы используете configure
, make
, make install
стандартная программа для установки программного обеспечения под любым дистрибутивом Linux затем новая версия будет обычно перезаписывать предыдущее. Единственный протест состоит в том, что, если более новая версия, оказывается, изменяет местоположение установки или названия определенных файлов затем, можно закончить со старой версией или частями старой версии, остающейся на компьютере.
Поэтому не рекомендуется установить программы таким образом на Slackware. Методические рекомендации состоят в том, чтобы создать a .txz
или .tgz
пакет, который может быть установлен со стандартным установщиком пакета Slackware installpkg
. Это также означает, что можно чисто удалить пакет с removepkg
или обновите до новой версии с upgradepkg
. Много сценариев для компиляции и создания пакетов, включая один для ffmpeg, могут быть найдены в SlackBuilds. Выполнение сценария, которому предоставляют, с источниками в том же каталоге скомпилирует и произведет a .txz
.
Большинство пользователей Slackware делает интенсивное использование Slackbuilds для установки неофициального программного обеспечения.
Если Вы загружаете исходный код (т.е. не пакеты от Вашего распределения) он будет обычно содержать настраивать сценарий, который позволяет Вам указывать, где установить скомпилированное программное обеспечение. Это обычно значения по умолчанию к /usr/local
. Можно изменить это при помощи следующей опции:
$ ./configure --prefix=/foo
Не все программное обеспечение сделано этот путь, но необычно не быть. Так как Ваше распределение устанавливает программное обеспечение под/usr, это означает, что у Вас будет две версии в Вашей системе. При установке ffmpeg на/opt/ffmpeg необходимо было бы просто добавить двоичный каталог (вероятно,/opt/ffmpeg/bin) к ПУТИ.
Если Вы действительно интересуетесь источником, смотрите на Linux С нуля и хинду.
Можно использовать make
(без установки) для компиляции источников протестируйте их и т.д. стр. И затем можно использовать make install
помещать новые файлы типа "build" в систему в целом.
ldd
иwhich
я могу выяснить старое местоположение файлов установки, и с той информацией я могу отредактировать Make-файл. Я, имеют тенденцию использовать источники для установок, потому что это кажется мне этим способом, которым я понимаю систему лучше. – primero 05.09.2012, 10:41.tar.gz
. При установке того файла он совпадает со сделавшийmake install
за исключением того, что дорожки Slackware, какие файлы Вы установили и знаете, как удалить или обновить. Если Вы интересуетесь узнаванием системы, я настоятельно рекомендую читать a.SlackBuild
сценарий, чтобы видеть, как все это работает. – SigueSigueBen 05.09.2012, 18:45