我不在追蹤如何在運行gmake時清除/重置環境變量$ NLSPATH值。在我的bash shell中,如果我發出echo $ NLSPATH,我會看到預期的/ usr/lib/nls/msg /%L /%N:(etc)。
我然後創建一個Makefile是這樣的:
all:
echo $$NLSPATH
echo $$PATH
並運行gmake命令所有給我
echo $NLSPATH
echo $PATH
/usr/bin:/etc:(etc as expected)
我也試過-e同樣的結果;
gmake -e all
echo $NLSPATH
echo $PATH
/usr/bin:/etc:(etc as expected)
我看了/ etc/environment和/etc/.profile,$ NLSPATH在那裏設置正確。
另外,如果我運行標準的AIX make,NLSPATH會按預期顯示。所以這似乎是gmake和/或調用當前shell的方式。
有人可能會建議我應該在哪裏看? [編輯] 因爲我是新手,我無法立即回答... 終於找到了它 - 以下技術手冊將其描述爲安全限制(雖然簡要);
http://www-01.ibm.com/support/docview.wss?uid=swg21516415
發出;
cd /opt/freeware/bin
sudo chmod -s make
爲我解決了這個問題,雖然我還在想知道gmake的某些方面可能會稍後期待setuid標誌。