Stdin: 1
Vamos começar entendendo através da prática sobre o stream stdin usando loops. No primeiro, estaremos tendo um exemplo básico do stdin como lido. Executar a instrução abaixo. A instrução exigiria entrada do teclado. Nisso, através do stdin, a ferramenta de leitura recebe o texto.
$ leia
Exemplo 01:
Crie um novo arquivo, “Entrada.sh ”e adicione o script anexado a ele. Estamos usando o loop while para ler o texto por um usuário do terminal e imprimi -lo. O script é nomeado com um "/dev/stdin" como o primeiro parâmetro de US $ 1, no qual a abordagem correspondente lê a entrada regular do console. Salve este arquivo e feche -o.
Abra o terminal e execute o arquivo recém -atualizado “Entrada.sh ”como:
$ BASH entrada.sh
Quando você executa o arquivo usando o comando Bash, você será pulado para a próxima linha para escrever algo. Como você pode ver abaixo, o usuário escreveu um texto de uma linha e pressione Enter.
O texto escrito por um usuário será lido primeiro e impresso na próxima linha como abaixo.
Você pode até fornecer um espaço entre a entrada do seu texto como abaixo.
Exemplo 02:
Agora vamos ler o texto do arquivo. Atualize o mesmo arquivo “Entrada.SH "fornecendo o nome do arquivo" Script.sh ”como o primeiro parâmetro de US $ 1. A abordagem correspondente lê deste documento.
Temos as seguintes informações de texto no arquivo “Script.sh ”como abaixo. Vamos verificar como funciona.
Executar o arquivo “Entrada.sh ”usando o comando bash. Você verá que o fluxo de leitura lê do arquivo fornecido “Script.sh ”e imprimi -lo no terminal como abaixo.
$ BASH entrada.sh
Exemplo 03:
Vamos ter um exemplo para ler cada diretório um por um usando stdin. Você tem que considerar o parâmetro -u com a leitura. Nisso, "-u 1" implica "Leia de Stdin.”Neste código,“ linha ”representa o nome do arquivo, e o incremento“ i ++ ”é usado para pular para o próximo diretório ou arquivo. Ele também contará o número do arquivo que foi lido também. Vamos executar este código para verificar o que acontece a seguir.
Executar o arquivo Bash “Entrada.sh ”. Isso solicitará que você insira algum texto para pular para o próximo arquivo. Aqui "Comm" representa o nome do primeiro arquivo.
$ BASH entrada.sh
Enquanto continua isso, você pode ver que temos uma lista de arquivos pelos quais passamos.
Exemplo 04:
Neste exemplo, temos dois arquivos relacionados para ler de. Atribua os privilégios necessários aos dois arquivos usando o comando "chmod" como abaixo.
chmod u+x nome do arquivo
Escreva o código abaixo no arquivo “Entrada.sh ”. Até que o loop "while" esteja recebendo linhas, ele imprimirá essas linhas. Enquanto a "linha" refere -se a outro arquivo "script.sh ”.
Temos o código abaixo no arquivo “Script.sh ”. Enquanto o loop está em execução, está imprimindo o número da linha.
Execute os dois arquivos usando ""./”No início do nome do arquivo e se separar usando“ ”|” na concha. Você verá que está imprimindo os números da linha enquanto imprimia o texto dos arquivos também. É um método muito simples para correlacionar dois arquivos ou seu conteúdo.
$ ./roteiro.sh | ./entrada.sh
Exemplo 05:
Vamos terminar este tópico por ter este exemplo simples e eficiente. Temos um arquivo “Script.sh ”com o conteúdo abaixo ou nomes de pessoas. Estaremos lendo esses nomes um por um de outro arquivo.
Atualize o arquivo “Entrada.SH: com o script abaixo. Neste script, temos um loop de tempo para elaborar "stdin" trabalhando. Estamos usando a leitura “Read -r” enquanto lêem outro arquivo como diferente de entrada padrão. Por outro lado, usando "-u" como específico do Bash, a saída padrão do usuário no terminal. Aqui, o "nome" é o texto ou conteúdo do arquivo "script.sh ”. A opção "-p" é usada para "ler". A declaração de leitura lerá o "nome" de outro arquivo e perguntará se você deseja excluí -lo ou não. A palavra -chave "IP" é usada para a resposta do usuário para afirmar a ação da exclusão. Qualquer que seja a resposta do usuário, ele o imprimirá. Na declaração "se", ele verificará se a entrada padrão do usuário é a mesma de "y", então ele imprimirá alguma mensagem como mencionar que está excluindo o "nome". Este processo será reiterado até o último conteúdo do arquivo “Script.sh ”.
Vamos dar uma olhada na saída do código acima. Execute o arquivo usando o comando bash. O sistema perguntará se você deseja excluir este "nome" ou não. Digite "Y" e toque "Enter".
$ BASH entrada.sh
Aqui, pressionando "Y", ele imprimirá "Y" e mostrará uma mensagem de que está excluindo o "nome" específico. Depois disso, mudará para outro "nome".
Ele solicitará que você exclua os nomes até que todos os nomes ou conteúdo do arquivo “Script.sh ”foram amarrados como abaixo.
Conclusão:
Passamos magnificamente por todos os exemplos simples de entrada padrão enquanto usamos o loop "while" no script Bash.