Strona 1 z 1

[bash] extglob nie działa?

: 20 gru 2011, 09:10
autor: Opalo
Cześć,
Jeśli wywołam z konsoli:

Kod: Zaznacz cały

ls -ld /usr/share/doc/(bash|zsh)
dostaję prawidłowy wynik:

Kod: Zaznacz cały

drwxr-xr-x 2 root root 4096 2011-10-24 11:17 /usr/share/doc/bash
drwxr-xr-x 3 root root 4096 2011-10-24 11:36 /usr/share/doc/zsh
Natomiast taki skrypt:

Kod: Zaznacz cały

#!/bin/bash
shopt -s extglob
ls -ld /usr/share/doc/(bash|zsh)
kończy się takim rezultatem:

Kod: Zaznacz cały

błąd składni przy nieoczekiwanym znaczniku `('
`ls -ld /usr/share/doc/(bash|zsh)'
Czemu tak się dzieje?

Re: [bash] extglob nie działa?

: 20 gru 2011, 09:43
autor: ethanak
Jest taka książka o hiszpańskim proroku Manualu.
Wpisujesz do konsoli "man bash", potem wciskasz "/" i wpisujesz "extglob"... i nagle doznajesz oświecenia.
Spróbuj!

Re: [bash] extglob nie działa?

: 20 gru 2011, 10:16
autor: Opalo
Spoko, spoko. Akurat dużo korzystam z dokumentacji i umiem też w niej wyszukiwać ciągi znaków (LOL). Dzięki, znalazłem czego potrzebowałem.
Poprawne rozwiązanie:

Kod: Zaznacz cały

ls -ld /usr/share/doc/@(bash|zsh)