Ciao,
Nello script che hai indicato contenente il ciclo for, viene fatto un ciclo che va da 0 a 9 e ti estrae quindi tutti i files 0.zip, 1.zip, ecc. fino a 9.zip.
Ovviamente questo avviene se sulla tua distribuzione GNU/Linux è presente il pacchetto '
unzip'.
Se sei su debian / ubuntu, lo installi con
Per quanto riguarda il resto, beh, sull'echo mancano le virgolette e quindi è sintatticamente errato. Quindi il tuo script diventerebbe:
Codice: Seleziona tutto
#!/bin/bash
echo "Sono nel percorso:"
pwd
echo "Scrivi la destinazione:"
read destinazione
cd $destinazione
echo "Mi trovo nel percorso:"
pwd
Eseguendo lo script noterai che la tua shell rimane nella tua attuale directory. Questo è perché quando lanci uno script, viene avviato un processo a sé stante che termina quando lo script finisce. Per questo non sembra eseguire il cd, ma in realtà lo fa. Infatti, se eseguo lo script ho il seguente output:
Codice: Seleziona tutto
Sono nel percorso:
/home/dragone2
Scrivi la destinazione:
/var
Mi trovo nel percorso:
/var
Ma la mia shell è rimasta su /home/dragone2 e non è andata in /var
Spero di averti chiarito un po'. Ciò che fai all'interno di uno script non influenza necessariamente l'attuale shell. L'unico modo per influenzare l'attuale shell è per esempio digitarci direttamente le varie istruzioni.