2016-11-10 102 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就不會找到這個程序。您可以通過使用

​​