Jakie jest znaczenie następującego ls
polecenia?
ls -l *\:2,*T
ls
= lista-l
= długi (lista)*T
prawdopodobnie oznaczaT
na końcu
Ale co z tym *\:2
i przecinkiem?
*\:2,*T
to globalny wzorzec plików do wyświetlenia. Aby to zrozumieć, musimy pamiętać o kilku rzeczach:
:
musi uciec w skorupce, stając się \:
Więc *\:2,*T
np. Pasuje do pliku o nazwieTranscationNumber:2,EventType:XYT
EDYTOWAĆ
Z komentarzy :
wynika , że konieczność ucieczki przed potrzebami (lub nie) wymaga kilku słów: nie jest absolutnie konieczne unikanie :
znaku, ale sama bash sugeruje to podczas autouzupełniania.
:
trzeba uciekać?:
nie trzeba uciekać. Jest to wyjątkowe tylko w określonych okolicznościach (gdy jest używane jako polecenie), a nie we wzorcach globów.\:
Jest równoważna:
, uciekając nie robi różnicy.unset var; : ${var:=x}; echo $var
:
jest częścią wartości domyślnych dlaCOMP_WORDBREAKS
zmiennej środowiskowej. W autouzupełnianiu Bash znaki te są używane jako separatory słów przez bibliotekę linii odczytu, a nazwa pliku zawierająca dwukropek powinna oczywiście być pojedynczym słowem. Stąd powód, dla którego autouzupełnianie bash wymaga ucieczki jelita grubego, chociaż w przeciwnym razie nie jest to „ szczególny ” znak specjalny ...*:2,*T
Tam symbol wieloznaczny
*
pasuje do wszystkiego (dowolna liczba wszystkich możliwych znaków):2,
to znaki, które muszą znajdować się w nazwach plików / katalogów.Dwukropek
:
jest specjalną postacią, którą należy uciec, stąd forma\:2,
.Nazwy plików / katalogów muszą kończyć się na
T
.Nazwy plików, które pasowałyby do siebie, to
źródło
COMP_WORDBREAK
wartości środowiska ustawianych domyślnie. - Tak więc nie jest to w rzeczywistości rzeczywisty znak specjalny, ale jeśli używasz autouzupełniania w wierszu poleceń i chcesz / musisz dopasować nazwy plików do dwukropka, musisz uciec.Jak zauważyli inni, będzie to wyświetlać w długim formacie, pliki zawierające
:2
i kończące się naT
Wygląda to na wyszukiwanie w folderze Maildir plików, które zostały usunięte (zniszczone). Jednak jeśli chodzi o solidność, na końcu powinna była mieć inną
*
. Można dodać nowe flagi z późniejszą pozycją alfabetyczną, a na przykład Dovecot dodaje kolejne pole z rozmiarem pliku na końcu.źródło