Also fragte ich eine Frage, wo ich nur drei Zeichen (die Erlaubnis diejenigen: r, w und x) aus einer Zeichenfolge, wo der Benutzer was auch immer schreiben könnte filtern wollte. Wenn der Benutzer rwx schreibt, werden diese drei Buchstaben in einer Zeichenfolge gespeichert. Die Reihenfolge spielt keine Rolle (wenn der Benutzer wxr schreibt, wird es trotzdem gespeichert). Aber in dem Fall, dass der Benutzer zum Beispiel zrx schreibt, speichert es nur in der Zeichenkette das r und das x. Wenn der Benutzer mehr Zeichen wie zhdghr schreibt, speichert er nur das r. Und wenn der Benutzer rrx schreibt, wird nur ein r und das x gespeichert. Nicht verdoppelt.Filter 3 Zeichen (Berechtigungen) in Bash
Ich habe diese Lösung, aber es ermöglicht die doppelte Antwort.
re='^[rwx]+$'
s='rw'
[[ $s =~ $re ]] && echo "yes" || echo "no"
yes
s='zr'
[[ $s =~ $re ]] && echo "yes" || echo "no"
no
Es ist die gleiche Frage, warum es wieder fragen? Wenn die Antwort auf Ihre vorherige Frage nicht Ihren Erwartungen entspricht, können Sie sie nicht akzeptieren. Sie können immer noch dem Antworter danken und seine Antwort auffrischen, und ihn bitten, – dudu721