[bash] extglob nie działa?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
Opalo
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 113
Rejestracja: 07 sty 2009, 09:52
Płeć: Mężczyzna

[bash] extglob nie działa?

Post 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?
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: [bash] extglob nie działa?

Post 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!
Awatar użytkownika
Opalo
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 113
Rejestracja: 07 sty 2009, 09:52
Płeć: Mężczyzna

Re: [bash] extglob nie działa?

Post 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)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 49 gości