У меня есть сценарий bash, который выполняет почти все, что я хочу, используя следующую структуру:
for x in 1 2 3
do
{
[[ $x -ne 2 ]] || continue
echo $x
} &>> foo.log
done
Мне нужно изменить его, чтобы вывод шел как в терминал, так и в файл журнала. Это, однако, не работает:
for x in 1 2 3
do
{
[[ $x -ne 2 ]] || continue
echo $x
} 2>&1 | tee -a foo.log
done
Похоже, что при создании процесса канал не позволяет мне использовать continue
.
Конечно, я мог бы переписать logi c моего сценария без continue
, но прежде чем я начну в этом, я задаюсь вопросом, упускаю ли я более простой способ достичь того, чего я хочу.