Próbuję migrację z bash
celu fish
.
Co to fish
jest analog shopt
? Próbuję naśladować tę linię z mojego .bashrc
:
shopt -s dotglob # for mv * see hidden files
command-line
fish
Netimen
źródło
źródło
{,.}*
ręcznie globować .Odpowiedzi:
To celowe. Przez większość czasu użytkownicy nie chcą przypadkowo dopasować ukrytych plików, które są niewidoczne dla
ls
(bez-a
). Zwykle pliki są ukryte z jakiegoś powodu, nie tylko po to, aby cię trollować. Ponadto, jeśli*
pasowałyby do ukrytych plików, dopasowanie nie ukrytych plików byłoby zbyt trudne.Jednak w przeciwieństwie do bash
shopt -s dotglob
nie jest konieczne dopasowanie ukrytych plików. W bashshopt -s dotglob
jest to jedyny sposób dopasowania każdego pliku w katalogu bez przypadkowego dopasowania.
lub..
. Jednak skorupa ryb nigdy nie może się równać.
lub..
z kulami, dlatego nie stanowi to problemu (jeśli poważnie potrzebujesz dopasować.
lub..
z jakiegoś głupiego powodu, po prostu powiedz je wyraźnie). Poza tym ryba stara się unikać opcji według projektu, więc nie madotglob
.Aby dopasować każdy pojedynczy plik w katalogu, możesz użyć rozszerzenia nawiasów, aby wykryć pliki zaczynające się od kropek i te, które nie są.
{.,}
jest rozwinięciem nawiasu, który pasuje do kropki, która może istnieć lub nie. Gwiazda po tym pasuje do wszystkiego. Ponieważ globusy u ryb nie mogą się zgadzać.
lub..
, poniższy kod pasuje do wszystkiego oprócz tych dwóch katalogów (które niestety pasują do bash, jeśli użyjesz kodu poniżej)źródło