ich hab mal ein bisschen mit Bashscripting rumexperimentiert und wollte mal nach einer Erklaerung fuer eine einfache "Testsequenz" fragen: [1]
Code: Alles auswählen
read -p "Are you sure? " -n 1 -r
echo # (optional) move to a new line
if [[ $REPLY =~ ^[Yy]$ ]]
then
# do dangerous stuff
fi
Welche Funtion erfuellen ~, ^ und $.
Fuer =~ hab ich gefunden, match "RegularExpression matching".
Waere dann nicht aber "=~" + [Yy] "doppelt gemoppelt" bzw. teilweise sowieso nicht anwendbar wegen der "-n 1"-Option von read? D.h. entweder Y oder y, aber Yy geht nicht wegen der Option "-n 1" und [Yy] bezieht sich auch nur auf einen Charakter im definierten "Set" (d.h. Y oder y)?
Fuer ^abc hab ich gefunden, "Match any name that doesn't match abc". Aber in dem genannten Fall waere das ja dann eher kontraproduktiv Match any name that doesn't match Yy oder Y und y, oder?
Und, wie gesagt, das $ hinter der schliessenden Klammer???
Danke im Voraus!
[1https://stackoverflow.com/questions/188 ... ash-script]