2016-10-16 2 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

Подстановка процесса (<()) является bash -изм, не определен POSIX.

Так что это не дает синтаксической ошибки при попытке запустить внутри скрипта, используя sh (предположительно dash?), А не bash.

Вы можете получить скрипт для скрипта, установленный как #!/usr/bin/env bash, чтобы получить скрипт, интерпретируемый bash, и получить рабочую замену процесса.

Смежные вопросы