[pgsql-jp: 36115] Re: psqlコマンドでshを実行?

MOCHIDA Shuji mochid @ netside.co.jp
2005年 10月 12日 (水) 18:23:03 JST


持田@NETside です。

 PostgreSQL とあまり関係のない、Unix 一般の話だと思いますが、

> 以下のようなコマンドラインを実行するコマンドをC言語で開発しています。
> 
> psql testDB -t -f test.sql -o result.txt -h targetnode -U user >& err.txt
> 
> 開発したコマンドは、Linuxでは正しく実行できるのですが、HPUX、
> Solaris、AIXでは以下のようなエラーが出て失敗します。

 C 言語からどうやってコマンドを起動していますか? system(3)? exec(3)?
sh(1) を使って実行する、と書いてありませんか?
Linux の /bin/sh(実体は bash)が >& を解釈できる、ということだけの
ような気がしますが。

> 1.psqlを実行してshのエラーが出るのはなぜか?
> 2.ログインシェルはcshなのにshで実行されているように見えるが、なぜか?
> 3.どうすればログインシェルで実行できるのか?

--
持田 修司 NETside Technologies Inc.
          -- Equal Opportunity for All Good Architectures, NetBSD. --



pgsql-jp メーリングリストの案内