7z
может это сделать, по крайней мере, если корневой каталог в архиве (если какой-либо )совпадает с именем каталога, который вы извлекаете в:
7z x -spe funtool.zip -ofuntool
Если все содержимое funtool.zip
находится внутри каталога funtool
в архиве, 7z
не будет дублировать каталог ниже funtool
, что даст вам нужный результат.
Как вы сказали в свой собственный -ответ , вам не нужно знать, где первоначально заполняется переменная PATH
.
Вы можете легко добавлять новые пути к PATH
в конце или начале, а zsh
также имеет удобный способ удаления дубликатов.
Вы можете сначала сделать переменную PATH
и связанный с ней массив path
уникальными, используя
typeset -U -g PATH path
После этого переменные останутся уникальными благодаря этой команде.
Чтобы добавить пару путей в начало:
path=( /new/path1 /new/path2 $path )
Чтобы добавить пару путей:
path=( $path /new/path1 /new/path2 )
или,
path+=( /new/path1 /new/path2 )
Значение переменной PATH
будет соответствующим образом обновлено.
Вы можете сделать это в файле $ZDOTDIR/.zprofile
, который автоматически загружается любой оболочкой zsh
. Делать это в вашем файле $ZDOTDIR/.zshenv
было бы ненужным, так как этот файл является источником любого типа вызова zsh
(и поэтому должен быть очень коротким, если он вообще нужен; Я просто установил там ZDOTDIR=$HOME/.zsh
, например ).
Обратите внимание, что PATH
уже является переменной окружения, поэтому ее повторный экспорт бесполезен.
Следующие шаги показывают, как изменить систему -с помощьюPATH
:
Создайте файл с соглашением об именах :приоритет -имя приложения (, например. «20200418 -vscode», я просто использую дату, чтобы сделать приоритет уникальным ). Затем сохраните в нем путь, который вы хотите добавить к PATH
.
Переместите этот файл в /etc/paths.d/
, готово.
Уведомление1:Не забудьте создать новый терминальный сеанс, чтобы увидеть изменения в echo $PATH
.
Обратите внимание2 :только этот метод добавляет ваш путь к PATH
.
Файл /etc/zprofile
использует /usr/libexec/path_helper
для установки значения по умолчанию PATH
, и у нас нет его исходного кода.
Ниже показано, как изменить пользователя -с помощьюPATH
:
Создать/отредактировать ~/.zprofile
и добавить следующий контент:
# append to PATH
export PATH="$PATH:.../to/target/bin"
# prepend to PATH
export PATH=".../to/target/bin:$PATH"
# remove duplicate in PATH
typeset -U PATH