Ответ от 2019 г. :Кажется, есть несколько реализаций клиентов usbip V2, доступных в Интернете, opensource@github — одна из них. вот еще .
Судя по всему, существует кросс-платформенная -совместимость по крайней мере с Linux, Windows, Openwrt и Android. Наверное, тоже Мак.
Если ваш PATH
на самом деле содержит ~/.local/bin
с буквальным символом тильды :, это не сработает. Тильду необходимо расширить до вашего домашнего каталога.
Например, любая из этих строк корректна в zsh, bash или любом другом sh -подобном оболочке:
PATH=~/.local/bin:$PATH
PATH=$PATH:~/.local/bin
PATH=~/.local/bin:"$PATH"
PATH="$PATH":~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
export PATH="$PATH:$HOME/.local/bin"
Они работают, потому что ~
расширяется до домашнего каталога, когда он находится в начале слова, сразу после знака равенства в присваивании или сразу после :
в правой -части слова. присвоение (цель этого последнего правила как раз для удобства заданияPATH
).
Но такая строка, как PATH="~/.local/bin:$PATH"
, не будет работать, потому что ~
не раскрывается в двойных кавычках, поэтому значение PATH
заканчивается литеральным символом ~
. Этот PATH
ссылается на каталог с именем ~
в текущем каталоге, а не на ваш домашний каталог.
Bash¹ имеет функцию, в которой ~
интерпретируется как домашний каталог в начале записей пути. Итак, PATH="~/.local/bin:$PATH"
частично работает в bash. Однако это работает только тогда, когда вы запускаете программу непосредственно из bash, а не когда программы, отличные от bash, сами запускают программы. Поэтому, даже если вы используете bash, не добавляйте литерал ~
в путь, убедитесь, что он расширен или используйте вместо этого $HOME
.
Когда не в режиме POSIX, например, при работе с именем sh
, поскольку эта функция нарушает соответствие POSIX, поскольку PATH='~'
предназначен для поиска команд в буквальном подкаталоге ~
текущего рабочего каталога.