GNU/Linux >> Linux Esercitazione >  >> Linux

La corrispondenza del modello non funziona nello script bash

Il globbing non funziona in questo modo a meno che non abiliti extglob conchiglia opz. Invece, consiglio di usare find :

find . -maxdepth 1 -not -name '<NAME>' -or -name '<NAME>' -delete

prima di eseguire questo comando con -delete assicurati che l'output sia corretto


Metodo con impostazioni predefinite e senza processi esterni:

for f in *; do [[ $f =~ ^file[12]$ ]] || echo "$f"; done

La sintassi glob estesa che stai tentando di utilizzare è disattivata per impostazione predefinita; devi abilitarlo separatamente in ogni script in cui vuoi usarlo.

shopt -s extglob

Gli script non dovrebbero usare ls anche se immagino che tu lo stia usando solo come segnaposto qui.


Linux
  1. Il file di metadati non corrisponde al checksum – Errore YUM!

  2. Linux – Perché Setuid non funziona??

  3. In uno script Bash Come funziona il comando Continua con i loop incorporati?

  4. Perché il completamento automatico non funziona quando si digita un nome di comando dopo "source"?

  5. Perché `esce &` non funziona?

Come funziona cat << EOF in bash?

Corrispondenza del modello di script Bash

ssh-copy-id non funziona

Il touchpad non funziona su Acer Aspire

La ripetizione automatica non funziona

Come funziona il pattern <( cmd ) in bash?