내 $ PATH는 다음과 같습니다.
/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
bash에서 문제없이 지팡이를 호출 할 수 있습니다.
/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand
처럼
$ 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
그러나 Bourne 쉘 호환성 모드에서는 지팡이를 찾을 수 없습니다.
$ wand
sh: 2: wand: not found
문제는이 경로의 % 기호 인 것 같습니다. 이 기호는 URL 인코딩으로 추가되었으므로 유효한 파일 이름이 아니더라도 "GNU / Linux"라는 이름을 디렉토리 이름에 사용할 수 있습니다. sh에서 작동하는 이름을 얻거나 sh 명령을 bash로 작동시킬 수 있습니까? 즉, bash가 / bin / sh 명령을 사용하여 호출 되었더라도 bash가 동일하게 동작하도록합니다.
sh
(이 글은 괜찮bash
하고zsh
있지만). 실행 파일을 직접 호출하면sh
; 정말 이상합니다.