Pentru a utiliza un fișier de configurare pentru acest script, înseamnă că scriptul va trebui să citească un parametru dintr-un fișier de configurare.
Fișierul de configurare
config.txt:
cale=.
extensie=sh
modtime=1
nume de fișier=test
Fișier script:
#!/bin/bash
linii=$(<config.txt) #citește config.txt
pentru linie în $linii; faceți # analizați fiecare linie și extrageți cheile param-valoare
dacă [[ $line = *"="* ]]; atunci # dacă un cuvânt conține „="...
vars[${line%%=*}]=${line#*=} # apoi setați-o ca o cheie de matrice asociativă
fi
Terminat
găsiți ${vars[cale]} -mtime ${vars[modtime]} -type f "(" -name "*.${vars[extension]}" -sau -name "${vars[filename]}.* " ")"
Cealaltă soluție este să utilizați scriptul cu argumente și să specificați calea, extensia, timpul de modificare sau numele fișierului după cum urmează:
#!/bin/bash
Ajutor()
{
ecou ""
echo „Utilizare: $0 -p Calea -e Extensie fișier -m Timp de modificare -f NumeFișier”
echo -e „\t-path Calea unde se caută”
echo -e „\t-ext extensie nume de fișier”
echo -e "\t-modtime timp de modificare, de exemplu +1d"
echo -e „\t-filename nume fișier”
exit 1 # Ieșiți din script după imprimarea ajutorului
}
în timp ce getopts „p:e:m:f:” opt
do
cazul „$opt” în
p ) pathFile="$OPTARG" ;;
e ) extensie="$OPTARG" ;;
m ) modifyTime="$OPTARG" ;;
f ) fileName="$OPTARG" ;;
? ) Ajutor ;; # Imprimați ajutorul în cazul în care parametrul este inexistent
esac
Terminat
# Tipăriți ajutorul în cazul în care parametrii sunt goli
dacă [ -z "$pathFile" ] || [ -z „$extensie” ] || [ -z „$modifyTime” ] || [ -z „$fileName” ]
atunci
echo "Parametru(i) gol, vă rugăm să-i verificați...";
Ajutor
fi
găsiți $pathFile -mtime $modifyTime -type f "(" -name "*.$extension" -sau -name "$fileName.*" ")"