我的$ 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 shell兼容模式下,找不到魔杖:
$ wand
sh: 2: wand: not found
看来问题出在这些路径中的%符号。该符号已通过URL编码添加,因此即使名称不是有效的文件名,也可以在目录名称中使用名称“ GNU / Linux”。是否可以在sh中使用该名称,或者使sh命令作为bash使用。也就是说,即使使用/ bin / sh命令调用了bash,make bash的行为也一样,该命令还是链接到bash。
sh
(这是确定的bash
和zsh
虽然)。直接调用可执行文件在sh
; 真的很奇怪