То, что вы пытаетесь просто передать datama sh et c. в качестве дополнительных аргументов echo
, когда это фактически команда, которую вы хотите выполнить. Я бы сделал что-то вроде
(echo "$i option:$i"; datamash mean 1 sstdev 1 < ./${file}) >> ./myfile
, которое перенаправит вывод echo
и datamash
на ./myfile
все в одном go. Обратите внимание на точку с запятой, разделяющую две разные команды.
Как отмечено в комментариях, нет необходимости в проверке материала if
, чтобы увидеть, существует ли ./myfile
или нет; >>
создаст его при необходимости.