0

./my_script >/var/log/my_log を検討してください

このスクリプトからの 1 つの echo ステートメントのみを stdout に移動する必要があります。

これはどのように達成できますか?

4

2 に答える 2

1

巧妙なプログラムがあります

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
于 2012-11-16T08:20:10.830 に答える
1

/dev/ttyリダイレクトに関係なく、端末エミュレータを指す which を使用するだけです。

#!/bin/sh

echo this line go to the possibly redirected stdout 
echo this line shows up on the screen > /dev/tty
于 2012-11-16T08:24:23.520 に答える