ロギングコンテキストが実行されているスクリプトを認識していますか?

ロギングコンテキストが実行されているスクリプトを認識していますか?

私のプログラムをファイルにリダイレクトするとしましょうSTDOUTSTDERR

./script.sh 1> output.log 2> error.log

実行中のプログラムはこれを見つけることができますか?つまり、これらのファイルのパスがわかりますか?

ベストアンサー1

{ readlink /dev/fd/[1,2] ; echo "out" ; } >./file 2>./error    
{ readlink /dev/fd/0 ; cat ; } <./file

出力:

/home/mikeserv/file
/home/mikeserv/file
/home/mikeserv/error
out

{ readlink /proc/$$/fd/[1,2] ; echo out ; } >./file 2>./error
{ readlink /proc/$$/fd/0 ; cat ; } <./file

出力:

/home/mikeserv/file
/home/mikeserv/file
/home/mikeserv/error    
out

おすすめ記事