Premetto che è da _molto_ che non mi dedico al bash scripting, ma mi pare che tu abbia usato una sintassi un po' strana :master:Originariamente inviato da pannikeos
codice:#!/bin/bash while getopts :a:z:defg OPZIONE do case $OPZIONE in a) echo "Opzione \"a\" con argomento $OPTARG." & { if ! mkdir -p $OPTARG then echo "Non e' stato possibile creare la directory $OPTARG" else echo "e' stata creata la directory $OPTARG" find ~ -atime 10 -exec cp -a {} $OPTARG \; echo "ho spostato i files" fi };;
Hai detto che volevi controllare che la directory non esistesse prima di crearla, perciò sicuramente intanto manca un controllo con test.
Mi pare che mkdir dia come exit status 0 se ha successo, 1 altrimenti...codice:if ![ -d "$OPTARG" ] then mkdir -p "$OPTARG" if [ $? -eq 0 ] then blablablablala //Fa ciò che vuoi else echo "Errore nel creare la directory" fi fi