[Pluto-help] Problemi con script bash

Mariani Darkpand Dario darkpand a libero.it
Mar 28 Ago 2001 18:38:41 CEST


Ho questo scriptino bash:

#!/bin/sh
totale= `awk ' BEGIN { RS="\n---" }
               {totale= NR}
              END { print totale }' $1`;

awk --assign totale=$totale ' BEGIN { RS="\n---"
                               	      srand()
                               	      numero= rand() * (totale-1)+1 }
                       	      NR == numero { sub("^\n","",$0)
                                      	     print $0 } ' $1;

Il problema lo ho sul primo comando.
Lo script all'interno del comando stampa un numero. Io vorrei che questo
numero fosse messo nella variabile $totale che passo al secondo script.

Ho pensato in questo modo: se inserisco un comando all'interno degli
apici inversi, questo comando viene eseguito ed il testo contenuto tra
gli apici viene sostituito dall'output.
Per cui se il programma stampa "58", in $totale dovrei trovarmi "58".
Invece, se eseguo questo script ho il messaggio di errore "bash: 58:
command not found", il che vuol dire che cerca di eseguire il comando
"58".
Ho provato, invece di mettere gli apici inversi, a metterli senza apice,
ma in questo caso mi viene eseguito lo script, per cui stampando "58"
sullo schermo, mentre alla variabile non viene assegnato nulla.

Se faccio l'assegnazione con $totale= ecc. ecc. mi viene dato errore.

Se metto tutto il comando tra apici singoli, nella variabile viene messo
tutto il comando.

Insomma, come faccio a mettere l'output di un comando in una variabile
(calcolando che non posso usare il pipe)?

Grazie in anticipo,
-- 
Mariani "Darkpand" Dario darkpand a libero.it

IAFo #126	ICQ# 49365960

"L'uomo e' tanto meno se' stesso quanto piu' parla in persona propria:
dategli una maschera e vi dira' la verita'"
Oscar Wilde

"Dio esiste, si tratta solo di trovarlo e riempirlo di botte"
Tiziano Sclavi





More information about the pluto-help mailing list