Bash Extended Globbing fornisce errori di syntax

Può chiunque spiegare questo:

$ bash $ shopt -s extglob $ ls *.(txt|doc) bash: syntax error near unexpected token `(' $ shopt extglob extglob on 

Questa è un'installazione di compressione debian. Mi aspetto che l'extglob interpnetworkingrà le parentesi come l'inizio di un gruppo.

  • Come posso usare Let's Encrypt (letsencrypt.org) come provider gratuito di certificati SSL?
  • Postfix auto crea Maildir
  • Prova per uno script in attesa di stdin
  • Imansible interrompere il dispositivo di raid
  • Cancellazione dello schermo GNU su vim, less, ecc. Uscita
  • Transazioni e rollback con Debian
  • Grazie,

    Paolo

    2 Solutions collect form web for “Bash Extended Globbing fornisce errori di syntax”

    Perché l'extglob non funziona in questo modo. È necessario inserire uno dei caratteri di modifica all'inizio di un elenco di templates ( (txt|doc) in questo caso), come segue (da man bash ):

      ?(pattern-list) Matches zero or one occurrence of the given patterns *(pattern-list) Matches zero or more occurrences of the given patterns +(pattern-list) Matches one or more occurrences of the given patterns @(pattern-list) Matches one of the given patterns !(pattern-list) Matches anything except one of the given patterns 

    In particolare, ls *.*(txt|doc) produce il comportmento che indovino.

    È ansible farlo senza l'estensione del globbing utilizzando l' espansione del brace : ls *.{txt,doc}

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.