web-dev-qa-db-ja.com

「MANPATH:未定義変数」の修正方法cshで?

Ubuntu 16.04でソースコードをコンパイルして、「 readme 」ファイルの指示に従って、いくつかのオープンソースソフトウェアをインストールしています。特定のポイント(リンクのポイント3b)では、実行可能ファイルを生成するために、特定のディレクトリにある.cshファイルを実行する必要があります。 ./compile_all.cshと入力して必要なディレクトリのターミナルから必要なcshスクリプトを実行するか、cshを実行して対話型シェルを起動すると、ターミナルで次の行が表示されます。

MANPATH: undefined variable. 

このエラーを修正するにはどうすればよいですか?

以下は、Ubuntuターミナルから実行されたmanpathコマンドの結果です。

~$ manpath
/home/atrcheema/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man

~./cshrcファイルには、次のコマンドの実行からわかるように、1行しか含まれていません。

:/home$ vim ~/.cshrc
setenv MANPATH ${MANPATH}:${HOME}/share/man

compile_all.cshの最初の数行は次のとおりです。

#!/bin/csh

####### section added by York Prado 10/2009
if( ! (-e /usr/bin/f77 || -e /bin/f77 || -e /usr/local/bin/f77) ) then 
echo "f77 command is not found"
echo "Please make sure you have the fortran 77 compiler installed"
exit 1
endif 

# section below moved to compile_hspf_libs.csh
#cd hspf/lib3.2/src/util
#make clean 
#make 
#make install 
#cd ../ 
#cd wdm/
#make clean
#make 
#make install
#cd ../
#cd adwdm/
#make clean
##make
#make install
#echo "Compiled all the lib3.2 files needed to compile the CBWM"
#cd ../../../../ 

######### end York Prado section

cd lib/dsn/
f77 -c dsn_utils.f

cd ../util
rm ../util_lib.a
./compile
cd ../get
rm ../get_lib.a
./compile
cd ../tty/
gcc -c -o ../ttyux.o ttyux.c
1
Ather Cheema

エラーメッセージ

MANPATH: undefined variable. 

ubuntuはデフォルトでMANPATHを設定しないため(manには組み込みの検索パスがあります)、csh(Bourneシェルとは異なり)は未設定の変数を空として扱いません。

ただし、シェルOR C-Shellスクリプトの実行を妨げることはありません。

それでも、それを「修正」する場合は、~/.cshrcファイルを変更してMANPATHが設定されているかどうかを確認し、2つのケースを適切に処理する必要があります。

if ( ${?MANPATH} ) then 
  setenv MANPATH ${MANPATH}:${HOME}/share/man
else 
  setenv MANPATH ${HOME}/share/man
endif

免責事項私はcsh構文に堪能ではないので、YMMVです。

2
steeldriver