長南です。 かとうさんのメールより [vine-users:080701] > > On 10/11/19 15:11, Umeda Mitsunori wrote: > > [suomi@localhost ~]$ su > > Password: > > setenv: 文法が間違っています.←ここが問題なのでしょうか? > > > > root権限は無事に取得出来ているのですが、何故、どの様な文 > > 法が間違っていますか?と言うメッセージが出るのでしょうか > > ~/.cshrc中で"setenv hoge=value"と書いていませんか? 正しくは > "setenv hoge value"です。 これなんですけれど、su をしたということは、root として新たに シェルを起動したということで、しかも root のシェルを csh に 変更しているわけだから、/root/.tcshrc が読まれるわけでしょう。 で、そこにこういうところがあります。 # 梅田さんへ。Vine の csh の本体は tcsh です。そして、実験して # みたところでは、tcsh ではなく、csh として起動しても、 # ${HOME}/.tcshrc が読まれるらしいです。 # .tcshrc、.cshrc などについては、man tcsh で調べてください。 setenv target ${HOME}/.vine/system/ime if ( -f $target ) then foreach _line_ ("`/bin/cat $target`") eval `echo $_line_ | /bin/sed -e 's|=C$|=en_US|g' -e 's|\([^#]*\)=\(.*\)|setenv \1 \2|'` end ---- (以下省略) ---- ${HOME}/.vine/system/ime なかには XMODIFIERS=@im=SCIM があります。sed の正規表現のマッチはたしか最左最長 (用語は これで正しいですか) ですから、s|\([^#]*\)=\(.*\)|setenv \1 \2| が setenv XMODIFIERS=@im SCIM に変換されてしまう。その結果「setenv: 文法が間違っています」が 出る。そういうことではないでしょうか。 -e 's|\([^#=]*\)=\(.*\)|setenv \1 \2|' と書き直せば、一応エラーが出ないようです。副作用がなければ よいのですが。 ざっとしか試していないので、間違えていたら、ご容赦。 -- 長南洋一 _______________________________________________ vine-users mailing list vine-users@xxxxxxxxxxxxxxxxxxxx http://listserv.linux.or.jp/mailman/listinfo/vine-users