shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shell-script-pt] Error: descritor de arquivos inválido


From: Robson Alexandre
Subject: [shell-script-pt] Error: descritor de arquivos inválido
Date: Thu, 25 Mar 2021 15:44:04 -0300

Bom dia shelleiros, 

Estou usando fifos para paralelizar processos e dispará-los "simultaneamente", porém me deparei com um erro interessante. Se faço a atribuição de fd da maneira como está no script, acusa um erro de descritor inválido apesar de fd receber a string 10 de forma geral. Se eu deixar a atribuição de fd apenas pelo exec ou definí-la manualmente como fd=10, o script corre bem. Alguém poderia explicar o q ocorre com esses descritores em variáveis?

  1. #!/bin/bash
  2. function Fifo.init() {
  3.   fifo=$(mktemp -u)
  4.   mkfifo $fifo
  5.   exec {fd}<>$fifo
  6.   procs[$fd]=$fifo
  7.   echo "$fd"
  8. }
  9.  
  10. function Ip.check() {
  11.   fd=$(Fifo.init)
  12.   for ip; do
  13.     (stdout=$(ping -H $ip); echo "$ip|$?|$stdout";) >&$fd &
  14.   done
  15.   wait
  16.   for ((i=0;i<$#;i++)); do
  17.     read -u $fd
  18.     echo "$REPLY"
  19.   done
  20.   rm ${procs[@]}
  21. }
  22. Ip.check "${hostaddress[@]}"


Atenciosamente,
Robson Alexandre

reply via email to

[Prev in Thread] Current Thread [Next in Thread]