Почетна » како да » Када је боље користити #! / Бин / басх Уместо #! / Бин / сх у Схелл Сцрипту?

    Када је боље користити #! / Бин / басх Уместо #! / Бин / сх у Схелл Сцрипту?

    Када креирате нови скрипт љуске, желите да будете сигурни да је он бесплатан што је више могуће, али понекад може бити помало збуњујуће да знате који је схебанг најбољи за вас. У том смислу, данашња постова за питања и одговоре СуперУсер-а имају одговор на конфузно питање читатеља.

    Данашња сесија питања и одговора долази нам захваљујући СуперУсер-у - подјела Стацк Екцханге-а, груписане од стране заједнице веб-локација за питања и одговоре.

    Питање

    Читач СуперУсер Хендре жели знати када је боље користити #! / бин / басх уместо #! / бин / сх у скриптама:

    Када је то прикладније за употребу #! / бин / басх радије него #! / бин / сх у скрипти?

    Када је боље користити #! / бин / басх уместо #! / бин / сх у скрипти?

    Одговор

    СуперУсер доприносник гравити има одговор за нас:

    Укратко:

    • Постоји неколико љуски које имплементирају суперсет ПОСИКС сх спецификације. На различитим системима, / бин / сх можда је веза са асх, басх, дасх, ксх, зсх, итд. Увек ће бити сх-компатибилна, никада цсх или фисх.
    • Докле год се придржавате само Сх функција, можете (и вероватно и требате) користити #! / бин / сх и скрипт би требао радити добро, без обзира на то која је љуска.
    • Ако почнете да користите особине специфичне за басх (тј. Низове), требате посебно захтевати басх јер, чак и ако / бин / сх већ вас позива на басх на вашем систему, можда не на систем других, и ваш скрипт се неће покренути тамо. Исто важи и за зсх и ксх, наравно.
    • Чак и ако је скрипта само за личну употребу, можда ћете приметити да се неки оперативни системи мењају / бин / сх током надоградње. На пример, на Дебиану је био басх, али је касније замењен са минималним цртама. Скрипте које су користиле басхизме, али су имале #! / бин / сх изненада се разбио.

    Међутим:

    • Чак #! / бин / басх није тачно. На различитим системима, басх би могао да живи / уср / бин, / уср / пкг / бин, или / уср / лоцал / бин.
    • Поузданија опција је #! / уср / бин / енв басх, која користи $ ПАТХ. Иако ни сам енв алат није строго гарантован, / уср / бин / енв и даље ради на више система него / бин / басх не.

    Имате ли нешто да додате објашњењу? Звучи у коментарима. Желите ли прочитати више одговора од других технолошки паметних Стацк Екцханге корисника? Погледајте цео дискусију овде.

    Имаге Цредит: Википедиа