Bloco de Função FS_SHELL

O bloco de função FS_SHELL executa um ou mais comandos remotos em uma shell interativa.

Atenção: Comandos do sistema podem ameaçar ou danificar o sistema remoto. Além disso, arquivos existentes podem ser sobrescritos sem um aviso.

O sistema de arquivos deve ter sido inicializado anteriormente usando FS_INIT. Todas as operações são realizadas assincronamente por meio de armazenamento criado.

Entrada RUN

Em uma borda positiva, o comando especificado é executado.

Entrada DEV

Define o dispositivo a partir do qual os arquivos serão acessados. O dispositivo é usado por projeto e pode ser gerenciado no menu de contexto sob Projeto Armazenamento Externo.

Entrada PATH

Especifica o caminho para o diretório no meio de armazenamento. O caminho corresponde a um caminho de arquivo Unix no formato UTF-8, se este for suportado. O caminho é representado da seguinte forma:

Pasta/Subpasta

A utilização de um caminho é opcional. Se este for definido, a mudança para esse diretório deve ser bem-sucedida; caso contrário, o comando a ser executado não será executado.

Entrada CMD

Define todos os comandos que devem ser executados. Todos os comandos devem ser terminados por um final de linha. Por exemplo: "ls\n". Se nenhum final de linha for usado, o comando provavelmente não será executado. Os comandos são executados linha por linha após a resposta do servidor.

Após a execução de todos os comandos, um "exit\n" deve ser enviado para encerrar imediatamente a conexão e retornar os valores. Depois disso, nenhum outro comando deve ser enviado, caso contrário, a saída ERROR será definida como VERDADEIRO.

Aviso: Se a conexão for encerrada inesperadamente e um comando não for enviado, a saída ERROR será definida como VERDADEIRO.

Entrada PTY

Define o tipo do console (Pseudo-Terminal). Para alguns dispositivos, este parâmetro é obrigatório. Exemplos: "vanilla", "exec", "vt100", "vt102", "ansi", "xterm" etc. Se nenhum valor for definido, "vanilla" será usado.

O valor "exec" executa a solicitação via comando SSH do sistema operacional. Assim, métodos mais modernos são usados. No entanto, este método é um pouco menos eficiente. A entrada ENV é definida antes da conexão, portanto pode ser ignorada. A entrada SIZE é ignorada neste método.

Se parâmetros SSH adicionais precisarem ser passados, eles podem ser adicionados em uma nova linha após "exec". Os parâmetros são sensíveis a maiúsculas e minúsculas e são especificados como no exemplo abaixo. Este exemplo ativa o algoritmo RSA para dispositivos mais antigos.

exec
HostKeyAlgorithms=+ssh-rsa
PubkeyAcceptedAlgorithms=+ssh-rsa

Os seguintes parâmetros estão disponíveis:

Parâmetros SSH para exec Valor de exemplo
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
ConnectTimeout 10
ServerAliveInterval 30
ServerAliveCountMax 3

Aviso: Para mais detalhes, consulte a documentação externa: https://linux.die.net/man/5/ssh_config (Inglês)

Entrada ENV

Define as variáveis de ambiente ativas. Para especificar várias variáveis, uma pode ser definida por linha. Exemplo:

LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8

Entrada SIZE

Define o tamanho do terminal. Por padrão, este é especificado em caracteres, mas também pode ser definido em pixels. Por exemplo: "80x25" ou "640x480px". Se nenhum valor for definido, "80x25" será usado.

Entrada RECV_PT

Define um tempo limite para receber dados por comando no formato T#. Se nenhum tempo limite for definido, T#150ms será usado. Se este valor não for alto o suficiente, provavelmente vários comandos serão executados durante a saída de dados.

Entrada TIMEOUT

Define um tempo limite no formato T# para a execução de todos os comandos. Após atingir este, a conexão será encerrada e o valor retornado. ERROR será definido como VERDADEIRO. O tempo limite é avaliado após o estabelecimento da conexão e a autenticação. Se a entrada PTY for definida como "exec", o tempo de execução será avaliado para todo o período. Se nenhum tempo limite for definido, T#300s será usado.

Saída DONE

A saída retorna um impulso de sucesso para realizar a próxima operação. O impulso ocorre ao encerrar o processo, mesmo que um erro tenha ocorrido.

Saída RETURN

Retorna a saída do comando após uma execução bem-sucedida. O valor é armazenado para uso posterior.

Aviso: Observe que o console formata a saída. Portanto, também podem conter caracteres de controle ou dados binários.

Saída RETERR

Retorna a saída do comando após uma execução com erro. Também chamado de STDERR no SSH. O valor é armazenado para uso posterior.

Aviso: Observe que o console formata a saída. Portanto, também podem conter caracteres de controle ou dados binários.

Saída ERROR

Retorna uma mensagem de erro no caso de falha. Esta é FALSO, se nenhum erro tiver ocorrido. O estado é armazenado para uso posterior.

Possíveis causas:

  • O serviço do meio de armazenamento não foi iniciado.
  • A memória não foi inicializada.
  • As credenciais de login são inválidas.
  • O servidor remoto não pôde ser alcançado.
  • O meio de armazenamento não existe.
  • O caminho especificado é inválido.
  • Não é possível escrever no meio de armazenamento.
  • Nenhum espaço de armazenamento disponível ou o armazenamento está protegido contra gravação.
  • A conexão foi encerrada inesperadamente antes que todos os comandos pudessem ser enviados.
  • O tempo limite definido foi atingido.

Veja Também