Держите файловый дескриптор открытым в оболочке рыбы - PullRequest
0 голосов
/ 25 февраля 2019

В Fish нет

exec 3<>file

, как в bash.

Есть ли любопытный обходной путь?


Проблема

Идея состоит в том, чтобы открыть канал для удаленной (или локальной) оболочки.В bash это выглядит так:

mkfifo srvin
exec <>stdin  ## keep pipe open
ssh $server -t bash <srvin
echo $command >srvin
echo $command2 >srvin

Без exec труба будет закрыта после первого echo и ssh будет остановлен.Цель состоит в том, чтобы сохранить ssh-соединение и иметь возможность отправлять команды и получать результаты.SSH только для примера, он также работает с локальными bash, netcat и др.

1 Ответ

0 голосов
/ 25 февраля 2019

Нет перенаправления чтения-записи.Если вам нужно только чтение или запись, вы можете заключить код в блок начала / конца и применить к нему перенаправление:

begin
    echo your code here
end 3<file   # or, end 3>file
...