Il mio $ PATH è simile al seguente:
/home/torbjorr/deployed/vector/x86_64-GNU%2fLinux:/home/torbjorr/deployed/typewriter/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mustudio/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mathext/x86_64-GNU%2fLinux:/home/torbjorr/deployed/doxymax/x86_64-GNU%2fLinux:/home/torbjorr/deployed/c2tex/x86_64-GNU%2fLinux:/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand:/home/torbjorr/deployed/x86_64-GNU%2fLinux/spellesc:/home/torbjorr/deployed/x86_64-GNU%2fLinux/projinit:/home/torbjorr/deployed/x86_64-GNU%2fLinux/herbs:/home/torbjorr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
In bash, posso senza problemi invocare la bacchetta situata in
/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand
piace
$ wand
(i) Mål från "main.cpp" har registrerats
(i) Skapar katalog "__wand_targets_dbg"
(i) Kör g++ "main.cpp" -fpic -L"/home/torbjorr/deployed" -g -Wall -std=c++11 -I"/home/torbjorr/deployed" -o "__wand_targets_dbg/cb-template
Tuttavia, nella modalità di compatibilità bourne shell, non è possibile trovare la bacchetta:
$ wand
sh: 2: wand: not found
Sembra che il problema sia il segno% in questi percorsi. Questo segno è stato aggiunto con la codifica URL in modo che il nome "GNU / Linux" possa essere utilizzato nel nome della directory anche se non è un nome file valido. È possibile far funzionare il nome in sh o far funzionare il comando sh come bash. Ossia, fai in modo che bash si comporti allo stesso modo anche se è stato invocato con il comando / bin / sh, che comunque collega a bash.
sh
funzioni correttamente in $ PATH da (va bene dentrobash
ezsh
comunque). Chiamare direttamente l'eseguibile funzionash
; veramente strano.