W moich testach (w Bash i Z Shell) nie widziałem problemów z definiowaniem funkcji, aliasów lub wykonywalnych skryptów powłoki, które mają łączniki w nazwie, ale nie jestem pewien, czy będzie dobrze we wszystkich powłokach i we wszystkich przypadkach użycia .
Powodem, dla którego chciałbym to zrobić, jest to, że myślnik jest łatwiejszy do wpisania niż podkreślenie, a zatem jest szybszy i płynniejszy.
Jednym z powodów, dla których waham się wierzyć, że to nie problem, jest to, że w niektórych językach (na przykład Ruby) myślnik byłby interpretowany jako znak minus nawet bez spacji wokół niego. Nie zdziwiłoby mnie to, gdyby coś takiego mogło się wydarzyć w niektórych powłokach, gdzie myślnik jest interpretowany jako sygnalizujący opcję nawet bez spacji.
Innym powodem, dla którego jestem trochę podejrzliwy, jest to, że mój edytor tekstu pomija podświetlanie składni dla funkcji z łącznikami. (Ale oczywiście jest całkiem możliwe, że to tylko błąd w konfiguracji podświetlania składni skryptów powłoki.)
Czy istnieje jakiś powód, aby unikać łączników?
-
w nich są złe. Patrzę na ciebie, CSS. :)csh
itcsh
nie obsługują one łączników, ale skorupa Korn tak. To trochę zabawne, że użyłema-b()
również nazwy mojej funkcji.Wiem, że jest naprawdę późno, ale być może uda ci się rozwiązać problem zwiększenia dostępności podkreślnika.
Spowoduje to przełączenie podkreślenia łącznikiem (minus).
Teraz trzymasz shift dla łącznika, ale podkreślenie jest wpisywane bez shift.
Twój kod może być inny, jednak myślę, że zależy od twojej klawiatury; mój ma 20 lat. Daj mi znać, jeśli potrzebujesz pomocy w znalezieniu kodu, którego chcesz użyć.
źródło