Как изменить язык в busybox

export PATH=$(echo ${PATH} | sed -r 's|/usr/local/cuda-9.0/bin||')

Или его более правильный вариант:

export PATH="$(printf '%s\n' "$PATH" | sed 's|/usr/local/cuda-9\.0/bin||')"

Обновляет содержимое переменной $PATHоболочки, вызывающей эту команду, удаляя в ней первое вхождение /usr/local/cuda-9.0/bin. Например, это изменит /bin:/opt/usr/local/cuda-9.0/bin/v2:/usr/local/cuda-9.0/binна /bin:/opt/v2:/usr/local/cuda-9.0/bin, что вам не нужно.

Чтобы удалить полные элементы, вы можете:

export PATH="$(
  printf ':%s:\n' "$PATH" |
    sed '
      :1
      s|:/usr/local/cuda-9\.0/bin:|:|g; t1
      s|^:||; s|:$|'
)"

Или с зш:

path=("${path[@]:#/usr/local/cuda-9.0/bin}")

Обратите внимание, что если $PATHизначально содержал только /usr/local/cuda-9.0/bin, то конечным результатом будет пустой $PATH. А пустой $PATHозначает поиск исполняемых файлов в текущем каталоге , что вам не нужно. Если это возможно, вы можете сделать $PATHчто-то вроде /inexistent/to/disable/PATH/lookup.

Обратите внимание, что в любом случае изменяется только переменная $PATHоболочки, которая запускает этот код. Если вы хотите, чтобы это повлияло на переменную $PATHоболочки, которая вызывает этот скрипт, вам нужно, чтобы эта оболочка была источником (, как с командой .или source), которая deactivate] или сделайте deactivateфункцией этой оболочки.

Или, как вариант,вы можете заставить скрипт deactivateвыводить код оболочки, который потребуется для удаления этих записей из $PATH(, например, добавив export -p PATHпосле его изменения )и обязательно вызовите его как:

eval "$(deactivate)"

В оболочке, где вы хотите удалить эту запись из $PATH.

Что-то вроде:

#! /bin/zsh -
path=("${path[@]:#/usr/local/cuda-9.0/bin}")
export -p PATH
0
27.02.2021, 14:02
1 ответ

Поможет ли эта статья кому-нибудь?:https://ilikelinux69.github.io/How-to-change-the-keyboard-layout-in-Busybox.

0
18.03.2021, 22:28

Теги

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