Какая команда эквивалентна pathmunge в CentOS? [дубликат]

У меня есть инструкции по установке , но они используют pathmunge , что вызывало у меня ошибку в Ubuntu. Каков синтаксис, эквивалентный следующему сценарию, чтобы сделать то же самое в Ubuntu?

/etc/profile.d/openssl.sh
pathmunge /usr/local/openssl/bin

Я добавил команду pathmunge в Ubuntu, используя этот ответ:

run nano ~ / .bashrc && source ~ / .bashrc и вставьте это:

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

Когда я вхожу в систему, я получаю эту ошибку:

error loading /etc/profile.d/openssh.sh

1
задан 6 August 2018 в 02:58

1 ответ

По-видимому, в RHEL и CentOS, pathmunge является функцией оболочки, объявленной в /etc/profile (источник ). Вы можете просто добавить ту же самую функцию к своим /etc/profile или ~/.bashrc (которая должна быть получена после добавления функции).

Для простоты запустите nano ~/.bashrc && source ~/.bashrc и вставьте это:

pathmunge () {
        if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
           if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
           else
              PATH=$1:$PATH
           fi
        fi
}

Сохраните файл после вставки с помощью Ctrl + o (это строчная буква o (не ноль) и выйдите с помощью Ctrl + x . После этого команда будет доступна для использования.

В качестве альтернативы, вы можете просто добавить каталог в PATH вручную, временно, как в PATH=$PATH:/usr/local/openssl/bin, или постоянно, как предусмотрено в Как добавить каталог в PATH? , изменив /etc/profile ( глобальный для всех пользователей) или лучше, изменив файл ~/.bashrc, если он вам нужен только для пользователя.

2
ответ дан 7 December 2019 в 15:15

Другие вопросы по тегам:

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