私は現在の標準出力リダイレクトを取得しようとしていますが、何らかの問題があります。Linuxファイル記述子 - 現在のリダイレクトstdoutファイルを取得していますか?
myscript.sh > /tmp/output.log
はmyscript.shでは、私はそれがに出力されているファイルかを調べる必要があります。
私は常に標準出力のリダイレクトすなわちで実行されるスクリプトを持っています。私は(動作しない)現在、これをしようとしている
:
logfile=$(readlink -f /proc/self/fd/1)
例えば、ログファイル= /tmp/sflq.r3fを出力しています。代わりに/tmp/output.logに行くことがわかります
これは可能ですか?それが重要な場合
私は...
感謝をKornシェルを使用しています!
ログファイルは/ proc/18117/fd/3 – John
@Johnです。申し訳ありませんが、kshでテストしてください。 'ksh'については、上記のような中括弧に追加する必要があります。それは私のために働いています( 'ksh version sh(AT&T Research)93u + 2012-08-01') – PSkocik
それをしました!なぜ中括弧が必要なのか、または仕事を探した後にしばらく時間を費やすべきであることの短いバージョンがありますか?ありがとうございます! – John