Я добавил путь к каталогу в системный путь ( $PATH
), запустив,
export PATH=$PATH:/home/avinash/Desktop/raj
Теперь мой путь выглядит так,
$ echo $ PATH / USR / Библиотека / LightDM / LightDM: / USR / местные / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / SBIN: / бен: / USR / игры: / USR / местные / игры : / Главная / Авинаш / Desktop / Raj
Я хочу удалить /home/avinash/Desktop/raj
из системной переменной пути с помощью команды ( как команда экспорта делает при добавлении пути ).
command-line
Авинаш Радж
источник
источник
Ответы:
Запуск
export PATH=$PATH:/...
не устанавливает вашуPATH
систему в целом. Это просто переменная оболочки. Запустите новую оболочку и BOOM , она исчезла. Очевидно, что если вы добавили это в~/.bashrc
(или другой файл начальной загрузки среды), вам придется отменить это изменение, но здесь это не похоже на вашу проблему.Если вы отчаянно не хотите запускать новую оболочку, вы можете установить ее, удалив вручную, с помощью:
источник
В вашей текущей оболочке (вашей текущей сессии gnome-терминала) вы можете сделать это используя:
В основном:
удаляет самое короткое совпадение
$substring
из задней части$string
.Проверьте манипуляции со строками для получения дополнительной информации.
источник
Если вы хотите использовать его в качестве команды, вот небольшой скрипт:
Назовите это
unexport
, и добавьте это к своему ПУТИ.Применение:
unexport /usr/local/bin /bin /sbin
Этот скрипт не меняет ваш на самом деле
PATH
. Если вы хотите, чтобы скрипт делал это, вам следует изменить последнюю строку. Заменитьecho "export PATH=$PATH"
наexport PATH=$PATH
источник
Если вы поместите
export
оператор в любой файл инициализации оболочки, например~/.bashrc
, вы можете использовать следующие команды в терминале,Это удалит папку из пути.
Если вы экспортировали путь из терминала
Папка будет в пути, пока вы находитесь в этой оболочке. Чтобы перезаписать путь, вы должны назначить новый путь. Как уже упоминалось в другом ответе.
Вы можете использовать следующую команду, чтобы установить старый путь
Или просто
Это замена подстроки,
источник
Один грязный хак
tr
grep -v
, иpaste
.это, вероятно, не будет работать хорошо, если какой-либо каталог в PATH имеет
:
или новую строкуесли вы часто этим занимаетесь, рассмотрите возможность сделать это функцией и сохранить в своем профиле оболочки (например
.bashrc
,.zshrc
)источник
export PATH=$PATH:/home/avinash/Desktop/raj
(Здесь вы добавили файл в переменную path.)echo $PATH
Если вы выполните эту команду, это вывод:
Как вы удалите его с пути? просто выполнить
Это концепция замены строк.
источник
Встроенная команда оболочки
export
Не определяет, установлена ли переменная или нет, она определяет, установлены ли переменная и ее значение в подпроцессах.Изменение переменной, экспортированной или нет, не влияет на родительский процесс или выше, поэтому изменение его в скрипте не имеет никакого эффекта, если только этот скрипт не запущен
source
.Функция оболочки:
обрежет последний компонент переменной PATH. На его
export
статус это не влияет.источник
объявляйте -x PATH = "/ требуемый / путь / вы_want", если я не ошибаюсь, что сам обновит то, что вы хотите, и это полностью по вашему желанию, что это будет. [Убедитесь, что вы работаете от имени пользователя root и как требуемый пользователь, на которого вы хотите, чтобы это изменение повлияло] Чтобы быть уверенным, запустите ENV впоследствии, чтобы убедиться, что $ PATH был эффективно изменен так, как вы хотите. (Это полезно для изменения любого вывода, который вы получите при запуске '/ usr / bin / env'. Хотя я не знаю, является ли он постоянным. В этом отношении сделайте, как указано выше, и измените ~ / .bashrc для это придерживаться)
источник