3 581
contributi
Riga 98: | Riga 98: | ||
<pre> | <pre> | ||
# crea un file in ogni directory, se non esiste già | # crea un file in ogni directory, se non esiste già | ||
touch -- ./*/"file" # SBAGLIATO! (per come avviene l'espansione) | touch -- ./*/"file" # SBAGLIATO! (per come avviene l'espansione) | ||
# aggiorna il tempo di accesso e modifica dei file (se esistenti) in ogni directory | # aggiorna il tempo di accesso e modifica dei file (se esistenti) in ogni directory | ||
touch ./*/"file" # SBAGLIATO! (sarebbe corretto SOLO se almeno un file esiste) | touch -- ./*/"file" # SBAGLIATO! (sarebbe corretto SOLO se almeno un file esiste) | ||
# forma corretta, sempre e solo con ciclo for e if [ ... ] | # forma corretta, sempre e solo con ciclo for e if [ ... ] | ||
for file in ./*/"file" | for file in ./*/"file" # espande ai file GIÀ esistenti | ||
do | do | ||
# il confronto serve nel caso in cui l'espansione resti ./*/file | |||
# e la directory * non esista, ma non serve a nient'altro | |||
# nuovi file non verrebbero creati perché l'espansione avviene | |||
# solo con le corrispondenze trovate! | |||
if [ -e "$file" ]; then | if [ -e "$file" ]; then | ||
touch -- "$file" | touch -- "$file" | ||
Riga 111: | Riga 115: | ||
# forma corretta del comando iniziale per creare un file in ogni directory | # forma corretta del comando iniziale per creare un file in ogni directory | ||
for dir in ./*/ | for dir in ./*/ # SOLO la parte già esistente nell'espansione! | ||
do | do | ||
if [ -e "$dir" ]; then | if [ -e "$dir" ]; then |
contributi