Изменить путь swig в CentOS

Да, в POSIX эта тема упоминается. Из здесь :

Среда подоболочки должна быть создана как дубликат среды оболочки , за исключением того, что ловушки сигналов, которые не игнорируются, должны быть установлены на действие по умолчанию. Изменения, внесенные в среду подоболочки , не должны влиять на среду оболочки. Подстановка команд, команды , сгруппированные в круглые скобки, и асинхронные списки должны выполняться в среде подоболочки. Кроме того, каждая команда в многокомандном конвейере находится в среде подоболочки; в качестве расширения, , однако, любая или все команды в конвейере могут выполняться в текущей среде . Все остальные команды должны выполняться в текущей среде оболочки .

Выбор поведения по умолчанию зависит от оболочки. В: только

echo 1 | read x
echo "$x"

zsh и ksh output 1 , другие современные Bourne-подобные оболочки выводят пустую строку.

1
21.04.2017, 13:30
1 ответ

При вводе swig в командной строке оболочка будет искать эту команду в каталогах, перечисленных в переменной $PATH. Он будет использовать сопоставление first, которое он найдет.

Поскольку swig, который вы установили (скорее всего), находится в $HOME/local/swig/bin и поскольку этот каталог либо отсутствует в вашем $PATH, либо слишком поздно в нем, он подхватывает старую версию команды.

Поместите $HOME/local/swig/bin в начале пути (сначала убедитесь, что это правильный каталог):

PATH="$HOME/local/swig/bin:$PATH"

См. также Как задать переменную пользовательской среды? (постоянно, а не сессионно)

Кроме того, можно запустить swig с указанным путем:

$ ~/local/swig/bin/swig

Или, если вы находитесь в домашнем каталоге:

$ local/swig/bin/swig
2
27.01.2020, 23:34

Теги

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