So, ich habe eine Lösung gefunden.
Im Home eine .zshenv anlegen:
Code: Select all
path=('/home/users/tracer/bin' $path)
Wichtig: Es muss der vollständige Pfad sein, ~ und $HOME klappen nicht.
So ist es OK:
Code: Select all
execve("/home/users/tracer/bin/php", ["php", "-v"], 0x7fffdb073898 /* 32 vars */) = 0
So nicht:
Code: Select all
execve("~/bin/php", ["php", "-v"], 0x7ffebf91e8b8 /* 32 vars */) = -1 ENOENT (No such file or directory)
execve("/usr/local/bin/php", ["php", "-v"], 0x7ffebf91e8b8 /* 32 vars */) = -1 ENOENT (No such file or directory)
execve("/usr/bin/php", ["php", "-v"], 0x7ffebf91e8b8 /* 32 vars */) = 0
Aber das geht:
Code: Select all
~/bin/php -v
PHP 8.1.7 (cli) (built: Jun 14 2022 10:02:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.7, Copyright (c) Zend Technologies
with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies
Für die Leute, die zsh nicht nutzen:
path ist verknüpft mit PATH, path ist ein array, PATH ein String. Änderungen an jeweils einem von beiden wirken sich auf den anderen aus.
Code: Select all
% echo $PATH
/home/users/tracer/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
% echo $path
/home/users/tracer/bin /usr/local/bin /usr/bin /bin /usr/games