Ich möchte alles in einem Ordner löschen, einschließlich Ordner, mit Ausnahme von zwei Dateien. Um dies zu tun, warum mit diesem Skript:Alles löschen, bis auf zwei Dateien
#!/usr/bin/env bash
shopt -s extglob
rm !(file1|file2)
Welche funktioniert, aber wenn ich versuche, in einem Fall auszuführen:
#!/usr/bin/env bash
read -r -p "Do you want remove everything \
[y/N]: " response
case $response in
[yY][eE][sS]|[yY])
shopt -s extglob
rm !(file1|file2)
;;
*)
printf "Aborting"
;;
esac
Dies wird geschehen:
test.sh: line 9: syntax error near unexpected token `('
test.sh: line 9: `rm !(file1|file2)'
Ich möchte zu wissen, warum dies und noch wichtiger, wie zu beheben :)
Ersetzen Sie Ihre erste Zeile durch den vollständigen Pfad zu binh binary und verwenden Sie die Option '-i', z. '#!/bin/bash -i' – Cyrus