Wiki Grega ma post na temat dostosowywania skryptów bash do Dash'a, który wskazuje na wiele „bashism” - dodatkowych funkcji, które są niestandardowe, ale są częścią bash. Unikanie tych bashism może pomóc uczynić twój skrypt bardziej przyjaznym dla różnych środowisk. To szczególnie odpowiada na niektóre pytania. Na przykład tak, istnieją operatory, które się różnią (jak ==
), ale istnieje standardowy zestaw Posix, który powinien działać we wszystkich środowiskach.
Dla dokładniejszej lektury możesz sprawdzić standard Posix , który powinny spełniać wszystkie pociski. W szczególności objętość „Shell & Utilities”.
Trudniejsze niż różnice w powłoce są różnice w poleceniach. Wiele systemów Linux ma GNU find
, ale jeśli piszesz przenośny skrypt, nie polegaj na swoim własnym man find
, ponieważ istnieje wiele systemów z BSD find
, który ma inny zestaw funkcji. Jeśli piszesz skrypty dla busybox, przekonasz się, że istnieją różne wersje z zupełnie innymi nc
literami. Takie rzeczy zawsze mnie dopadają, gdy wdrażam skrypt w różnych środowiskach.
Aby uzyskać dodatkowe informacje na temat dobrych praktyk skryptowych w powłoce, na blogu Davida Pashleya znajduje się również dobry zasób: Pisanie skryptów powłoki Solidnego Basha
Pamiętaj również, aby przeczytać odpowiedzi i komentarze Gilles na tej stronie. Ma wiele wskazówek na temat używania przenośnego kodu.