Yanıtlar:
[1 yorumdan sonra düzenlendi: @chepner - teşekkürler!]
/ bin / bash işlev adlarındaki tirelere izin verir, / bin / sh (Bourne kabuğu) izin vermez. Burada, rahatsız edici "bazı işlev" bash tarafından dışa aktarılmış ve bash, yukarıdaki hatayı bildiren / bin / sh adlı yum olarak adlandırılmıştır.
düzeltme: kabuk işlevlerini kısa çizgilere sahip olmayacak şekilde yeniden adlandırın
man bash, bash tanımlayıcılarının şunları içerebileceğini söylüyor: "yalnızca alfasayısal karakterler ve alt çizgiler"
/ Bin / sh hatası çok daha belirgindir:
some-function () { :; }
sh: `some-function ': geçerli bir tanımlayıcı değil
bash
İçinde, parametre adında değil, işlev adında tire kullanımına izin verildiğini unutmayın .