Pular para o conteúdo principal

Se você usou a concha POSIX ("bash") no VOS, então você sabe que pode executar vários comandos POSIX e usar todos os truques que o bash fornece, tais como redirecionamento de entrada e saída. Mas você sabia que você pode usar estas mesmas características com muitos comandos VOS?

Por exemplo, se você gostaria de combinar o comando "list" do VOS com o comando "more" do POSIX, digite a seguinte linha de comando em bash:

lista | mais

Se você quiser executar a saída do comando da lista em um arquivo, digamos:

lista >list.txt

Isto funciona porque tanto VOS como POSIX usam a mesma porta VOS inferior para gravar a saída no terminal ou no arquivo de lote. A porta "default_output" do VOS é equivalente ao arquivo "stdout" do POSIX. E a porta "default_input" do VOS é a mesma que o arquivo POSIX "stdin". Finalmente, a porta "terminal_output" do VOS, que é onde o VOS escreve as mensagens de erro, é a mesma que o arquivo POSIX "stderr".

Aqui está um exemplo (elaborado) de utilização do redirecionamento de entrada bash em um comando VOS. Crie um arquivo chamado "line_edit.txt" com as 2 linhas a seguir:

imprimir *
desista

Você pode então executar estes pedidos de line_edit contra seu arquivo de abreviações da seguinte forma:

line_edit abbreviations <line_edit.txt

Note que o bash executa cada comando em um novo processo infantil. O processo infantil herda todos os anexos de E/S e todo o estado do processo dos pais, portanto, isto não é um problema para a maioria dos comandos. Entretanto, qualquer comando VOS que modifique o ambiente do processo não fará o que você espera. Por exemplo, executar o comando set_library_paths de dentro da bash mudará os caminhos da biblioteca do processo filho; e este processo é destruído assim que o comando termina. Se você quiser mudar os caminhos que são pesquisados por bash, você deve fazer a mudança usando o método POSIX, que é mudar a variável de ambiente PATH.

Espero que você considere estas técnicas úteis.

© 2024 Stratus Technologies.