Czy ktoś może mi wyjaśnić, co robi skorupa w dwóch przykładach A) i B) poniżej? Oczywiście zachowuje się inaczej, ale nie mogę się dowiedzieć, dlaczego wynik jest inny.
Przykład:
niech skrypt w naszym bieżącym katalogu ma nazwę bla.sh
tylko jednej komendy:
echo ${0##/*} hello
A)
Rozpoczęty jako: ./bla.sh
daje:./bla.sh hello
B)
Rozpoczęty jako: . bla.sh
daje:-bash hello
Ponieważ używam tego w skrypcie, drugie wyjście (z powodu „-” przed -bash) zabija polecenie. Oczywiście prosty --
przed ${...}
pomógł, ale chciałbym zrozumieć, co powoduje wynik w pierwszej kolejności.
Uwielbiam bash. I vi [m]. Ale dygresję…