Чи може хтось пояснити мені, що оболонка робить у двох прикладах A) та B)? Він, очевидно, поводиться інакше, але я не можу дізнатися, чому вихід відрізняється.
Приклад:
Давайте матимемо скрипт у нашому поточному каталозі, названий bla.sh
лише однією командою:
echo ${0##/*} hello
А) Починається
як: ./bla.sh
дає:./bla.sh hello
B)
Починається як: . bla.sh
дає:-bash hello
Оскільки я використовую це в сценарії, другий вихід (через "-" перед -bash) вбиває команду. Звичайно, простий --
перед тим, що ${...}
допомогли, але я хотів би зрозуміти, що викликає вихід в першу чергу.
Я люблю баш. І vi [м]. Але я відволікаюсь…