Просто убедившись, что я правильно понимаю: вы хотите отредактировать переменную PATH пользовательской области, но не хотите добавлять все элементы из копии PATH системной области в свою пользовательскую область?
Лучший способ сделать это - использовать Powershell. Да, я знаю, что вы пометили это как bash , но я почти уверен, что вы этого не хотели; setx - это команда Windows. :-)
[System.Environment]::GetEnvironmentVariable("PATH","USER") получит переменную среды PATH текущего пользовательского контекста в виде строки. Затем вы можете добавить к этому и сохранить его обратно, используя функцию SetEnvironmentVariable .
$userpath = [System.Environment]::GetEnvironmentVariable("PATH","USER")
$userpath = $userpath + ";D:\Myfolder\Test\"
[System.Environment]::SetEnvironmentVariable("PATH",$userpath,"USER")
Вы можете прочитать больше о работе с переменными окружения в этом вопросе SuperUser.
Обратите внимание, что, как и команда setx , это на самом деле не изменит какие-либо переменные окружения в текущем процессе. Если вы хотите сделать это, вы можете использовать "PROCESS" вместо "USER" при вызове SetEnvironmentVariable или просто добавить свое значение в $ENV:PATH , что-то вроде $ENV:PATH = $ENV:PATH + ";D:\Myfolder\Test\"