2016-10-16 5 views
-1

コマンドからデータを読み込む以下のシェルスクリプトがあります。コマンド入力からの読み込みエラースクリプト

while read _ host ip time _; do 
    echo $host 
done < <(traceroute yahoo.fr) 

上記のソースコードリターンスクリプトエラー

./traceroute_launch: line 33: syntax error near unexpected token `<' 
./traceroute_launch: line 33: `done < <(traceroute yahoo.fr)' 

私は貝に上記のソースコードをコピーして、それが動作します。しかし、スクリプトファイルから実行すると、私は上記のエラーが発生しました。私は

答えて

0

プロセス置換(<())を欠けmは何

はPOSIXで定義されていない、bash -ismです。

(おそらくdash?)を使用してスクリプト内で実行しようとすると、構文エラーが発生していますが、bashではありません。

bashで解釈されるスクリプトを取得するために、スクリプトのshebangを#!/usr/bin/env bashに設定して、プロセス置換が機能するようにすることができます。

関連する問題