Using perl Syntax Highlighting
- my $chan8 = $ssh2->channel();
- $chan8->exec('repquota -g /opt/data1 > /tmp/quota_data1') or die;
- $chan8->close;
- my $chan9 = $ssh2->channel();
- $chan9->exec('cat /tmp/quota_data1') or die;
- while (<$chan9>) {
- next if not /gc_/; # filtro
- chomp;
- my @cuotas = split " ";
- $sumatorio += $cuotas[2];
- $totalcuotas += $cuotas[3];
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Con shell() no lo he conseguido. No me da error ninguno, pero no ejecuta el comando.Lo he probado con un simple touch() en la máquina remota y no funciona. Lo he hecho con exec(), pero lo he tenido que hacer como he puesto en el código de arriba. Si lo hacía como me dijo explorer no me funcionaba. Me creaba el fichero, pero el valor de $sumatorio y $totalcuotas era 0.
Estoy haciendo un programa que necesita ejecutar bastantes comandos en varias máquinas remotas. ¿Influye si lo hago con exec() y abriendo y cerrando los canales?
Saludos.