変数 ( while .... ) のサブシェルリダイレクトエラー $3 > $testdir/$testfile.log

変数 ( while .... ) のサブシェルリダイレクトエラー $3 > $testdir/$testfile.log

私のスクリプトは、次のようにサブシェルコマンドを実行します。

 ( while ..... ) $3>$testdir/$testfile.log

エラーが発生します。

line 75: syntax error near unexpected token `$3'
line 75: `    ) $3>$testdir/$testfile.log'

いくつかのオプションを試してみましたが、>変数ではなくハードコーディングされた数字である場合にのみ満足しているようです。かっこが抜けましたか?

ベストアンサー1

あなたは正しいです。シェル構文は次のようなものだけを受け入れます。

「#>」

#1桁の数字はどこにありますか?

シェルは複数の数値をサポートできますが、POSIXはこの動作を指定しません。

ここで変数拡張を実行できることは、指定された構文をはるかに上回ることです。

ただし、eval拡張テキストを使用してパーサーを再度呼び出すことはできます。

おすすめ記事