2016-11-10 105 views
0

g++命令之前声明变量后,g++命令不起作用。g ++:在Bash中声明变量后发现“命令未找到”

例如,下面的工作:

echo "Train LINE starts" 
g++ -lm -pthread -Ofast -march=native -Wall -funroll-loops -ffast-math -Wno-unused-result line.cpp -o line -lgsl -lm -lgslcblas 

但这

PATH="foo path" 
echo "Train LINE starts" 
g++ -lm -pthread -Ofast -march=native -Wall -funroll-loops -ffast-math -Wno-unused-result line.cpp -o line -lgsl -lm -lgslcblas 

相反,我得到一个错误:g++: command not found。这是宣布变量的正确方法吗?

回答

1

PATH环境变量由一个冒号分隔的列表中添加一个文件夹。 shell响应用户发出的命令在这些目录中搜索可执行文件。

例如,如果g++可执行文件位于/usr/bin目录,那么你就可以隐式调用/usr/bin/g++只有PATH包含/usr/bin

echo $PATH 
/usr/bin:/bin:/opt/bin 

如果你想添加一个搜索路径,你应该把它追加到现有的变量值:

PATH="$PATH:/new/search/path" 
1

在你的例子中,你重新定义了PATH,它用于查找g++所在的目录。使用不同的变量名称。

1

如果要附加在PATH变量新路径,使用这样的:

PATH=$PATH:foopath 

代替:

PATH="foo path" 

如果您正在使用PATH作为变量为别的,使用其他名称。

2

PATH变量保存你的程序寻找外壳的路径。所以如果你改变这个,shell就不会找到这个程序。您可以通过使用

​​