PDA

View Full Version : linux comando bash


texerasmo
12-05-2005, 11:17
sapete come si fa dentro ad un file di bash

ad eseguire un comando e dargli L'INVIO

poi altro comando e INVIO
tnks

Linux2004
12-05-2005, 11:35
Scrivi in comandi in seguenza :)
Per esempio supponiamo di avera questo file di bash:
#!/bin/bash
#
echo "Utenti connessi..."
who
Dopo aver scritto "Utenti connessi", esegue il comando who che permette di visualizzare gli utenti connessi sulla linuxbox


P.S.: Questo è il mio primo messaggio in questo forum :D

DanieleC88
12-05-2005, 12:41
P.S.: Questo è il mio primo messaggio in questo forum :D
Benvenuto! :)

...e confermo tutto, è proprio come hai detto. ;)

Ziosilvio
12-05-2005, 15:23
Se stai chiedendo come fare a dirgli di aspettare il segnale INVIO, penso che puoi aggirare il problema inserendo, tra un comando e l'altro, una read su una variabile "fasulla".
Esempio:
#!/bin/bash
echo -n "Premi un tasto per continuare... "
read FOO
echo "Fine"

arpino84
27-05-2005, 09:01
Chiedo anche io una cosa ...

come faccio a mettere all'interno di un bash il comando

date +%Y --date '1 year ago'

ho provato con

anno=$(date +%Y --date ''1 year ago'')

ma non gli va bene (sono due apici singoli ' vicini) ...

kingv
27-05-2005, 09:33
Chiedo anche io una cosa ...

ma non gli va bene (sono due apici singoli ' vicini) ...


è giusto come hai scritto , perchè raddoppi gli apici?

arpino84
27-05-2005, 09:41
è giusto come hai scritto , perchè raddoppi gli apici?

Mettendoli singoli mi da errore perchè lo interpreta come

--date1 year ago

e non vede gli apici

edivad82
27-05-2005, 09:51
echo `date +%Y --date '1 year ago'`

arpino84
27-05-2005, 10:33
OK ... un problema risolto ...

adesso ne chiedo un'altro

facendo un ciclo for da 1 a 10 e mandando in stampa i risultati del for i numeri vengono stampati 1 2 3 4 ... 10

ora vorrei che i numeri con 1 cifra vengano stampati a due ... nel senso
01 02 03 04 ... 10 ... è fattibile la cosa ???

arpino84
27-05-2005, 10:39
Risolto :D

arpino84
27-05-2005, 11:13
Aguzza la vista ... chi trova l'errore???

anno=$(date +%Y)
mese=$(date +%m)

if ["$mese" < 3]
then
anno=$(date +%Y --date'1 year ago')
fi

edivad82
27-05-2005, 11:17
if [ $mese -lt 3 ]; then

DanieleC88
27-05-2005, 12:35
if [ $mese -lt 3 ]; then
E, in più, manca uno spazio tra "date" e "1 year ago".

P.S.: secondo me è meglio, visivamente, usare il comando "test" al posto delle parentesi quadre.

arpino84
27-05-2005, 14:07
Perfetto ... risolto il tutto

Grazie ragazzi ... siete MITICI !!!!!!!!!!!!