AIX 7.1のstdout、stdin、およびstderr表現

AIX 7.1のstdout、stdin、およびstderr表現

私は多くのスクリプトを移植してきました。オペレーティングシステム7.1。私はこのUnixシステムの以前の経験はありません。

スクリプトはおよびで実行され、/bin/shそれに応じて異なります/dev/stdout。これらのファイルは標準化されていないことが知られています。/dev/stdin/dev/stderrオペレーティングシステム7.1実装されていないようです。

/procVFSが存在することを発見した/dev/std{in|out|err}/proc/$$/fd/{0|1|2}pts000c---------)。

/bin/bash/devを含む多くのデバイスをエミュレートすることが知られています/dev/std*。変換と使用の限られた実験は成功/bin/bashしました。しかし、すべてのスクリプトを切り替えてテストするには時間がかかります。/bin/sh/dev/std*/bin/bash


質問:

標準IOファイルを処理する方法オペレーティングシステム7.1下に/bin/sh?例えば採用中です。/dev/ttyどのように?

//移植するスクリプトの1つの呼び出しの例:

# param_protocol parameter apparently needs a file representation of the stdout
black_box_binary param1=$value1 param2=$value2 param_protocol=/dev/stdout

答え1

<&0読み書きで>&1これらのファイルを置き換えることができます>&2。それらはそれぞれstdin、stdout、stderrです。

答え2

/dev/std{in,out,err}これらのファイルが単にシンボリックリンクである可能性はありますか/proc/$$/fd/{0,1,2}?望むより」標準エラーおよびその他の出力リダイレクト」に関する背景情報があります。しかし、以前の投稿によると、">/dev/stdout"の移植性シェルに依存しているようです。

関連情報