Enviado em 09/01/2018 - 13:10h
Galera, eu to começando a estudar shell script e pintou uma dúvida, com o seguinte script:i=0 cat /etc/passwd | while read line do i=$((i+1)) done echo $i
i=0 while read line do i=$((i+1)) done < /etc/passwd echo $i
Enviado em 09/01/2018 - 14:47h
Amigo o arquivo tem 29 linhas, o que eu gostaria de saber é porque em um código contabiliza e no outro não. Mas já descobri, no caso do primeiro código é criado um "sub shell" e a variável só é incrementada naquele escopo, aí sair do subprocesso a variável volta a ser a de fora do escopo, ou seja, com o valor inicial.Enviado em 15/01/2018 - 03:59h
Você precisa entender como o shell trata a execução de pipelines e de comandos compostos, especialmente quando há redirecionamento de arquivos.while read arquivo; do rm -i "$arquivo" done < /tmp/lista_de_arquivos.txt
exec 3</tmp/lista_de_arquivos.txt # Associa arquivo ao descritor nº 3. while read -u 3 arquivo; do # Manda o read (e não todo o comando composto!) ler especificamente do descritor nº 3. rm -i "$arquivo" done exec 3<&- # Fecha (desativa) o descritor nº 3.
i=0 exec 3</etc/passwd while read -u 3 line do ((++i)) done exec 3<&- echo $i
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (6)
Comprei thin client dell wyse tx0 3010 ele tá com Login é senha nao v... (0)