In uno script ho necessità, fra le altre cose, di eliminare una cartella all'interno di un certo percorso.
Il nome della cartella nello specifico deve essere passata come parametro allo script, mentre la prima parte del percorso si trova già nello script come variabile.
Il problema è che se il nome della cartella ($2) per errore o volontariamente fosse qualcosa del tipo "../../../qualcosa" allora il path farebbe riferimento ad una dir superiore a quella dove lo script dovrebbe operare. Nel caso venga eseguito da un utente normale al max potrebbe danneggiare solo le sue cartelle, ma se fosse root a farlo i danni potrebbero essere ingenti.codice:elif [[ $1 = "d" ]]; then if [[ ! -z $2 ]]; then to_delete=${2%/} echo "Are you sure to remove directotry $workdir/$to_delete?" read answer [...] else msg=1 fi else
Vorrei evitare che lo script accettasse solo path effettivamente interni a $workdir. Quale è secondo voi la soluzione migliore?