./my_script >/var/log/my_log を検討してください
このスクリプトからの 1 つの echo ステートメントのみを stdout に移動する必要があります。
これはどのように達成できますか?
./my_script >/var/log/my_log を検討してください
このスクリプトからの 1 つの echo ステートメントのみを stdout に移動する必要があります。
これはどのように達成できますか?
巧妙なプログラムがあります
cat print2stdout
#!/bin/sh
echo some words secret and sent to null
echo some words to stdout > /dev/fd/3
最後の行は、開いている 3 つのファイル記述子にエコーするために配置します。
呼び出し時に 3 つの FD を stdout にマップし、stdout をファイルにリダイレクトします。
結果は次のようになります。
./print2stdout 3>&1 >/dev/null
some words to stdout
/dev/tty
リダイレクトに関係なく、端末エミュレータを指す which を使用するだけです。
#!/bin/sh
echo this line go to the possibly redirected stdout
echo this line shows up on the screen > /dev/tty