Есть ли способ прочитать данные, которые были переданы функции, изнутри функции, но только если они есть? Я пробовал это с кошкой следующим образом:
function myPipe
set -l pipe_input (cat -)
echo $pipe_input # is never reached
end
echo test | myPipe
Однако это приводит к тому, что функция останавливается и ожидает ввода конвейера, даже если данные действительно передавались в функцию.
Я хотел бы, чтобы рыба выполняла остальную часть функции, даже если нет ввода канала, чтобы я мог обрабатывать передаваемые данные.
test -p 0
. Однако, начиная с fish 2.7, это не работает. Я не могу сказать, было ли это исправлено в более новой версии. - person Kurtis Rader   schedule 27.09.2019