(#!mikä tämä on ?

tämä ensimmäinen rivi (#!/ bin / bash tai #!/bin / sh) on nimi. Se tunnetaan nimellä ”she-bang” (shabang). Tämä juontaa juurensa polettien sharp ( # ) ja bang (!). Sitä kutsutaan myös nimillä sh-bang, hashbang, poundbang tai hash-pling. Laskutekniikassa she-bang on merkkisarja, joka koostuu merkkien numeromerkistä ja huutomerkistä (#!) käsikirjoituksen alussa.

/bin/bash VS /bin/sh

on nähty usein erilaisia she-bang-tai script-otsikoita. Ihmettelemme usein, miksi juuri tuo käsikirjoitus käyttää sitä tiettyä she-bangia, miksei jotain muuta. Unix-tyyppisissä käyttöjärjestelmissä on valittavana useita kuoria. Komentotulkki vastaa paitsi pienistä kehotteista myös komentosarjan komentojen tulkinnasta. Siten kuori on tärkeä rooli erityisesti, kun toteutamme suuria ja monimutkaisia logiikkaa käyttäen ehtoja, putkia , silmukoita jne.

/bin/sh on suoritustiedosto, joka edustaa järjestelmän komentotulkkia ja toteutetaan yleensä symbolisena linkkinä, joka osoittaa suoritustiedostoon sen mukaan, kumpi komentotulkki on järjestelmätulkki. Järjestelmän komentotulkki on pohjimmiltaan oletuksena komentotulkki, jota komentosarjan tulisi käyttää. Parin viime vuoden aikana Debian (ja Ubuntu) päättivät vaihtaa järjestelmän kuoren bashista Dashiin — samanlainen kuori, mutta kevyempi ja paljon nopeampi.

Dash on melko hyvin yhteensopiva Bashin kanssa, sillä se perustuu samaan POSIX-standardiin. Se ei kuitenkaan toteuta bash-spesifisiä laajennuksia. POSIX-standardi on Portable Operating System Interface, yritys standardoida UNIX-tyyppisiä OSes-käyttöjärjestelmiä. Vaikka Ubuntun järjestelmän kuori osoittaa Dashiin, kirjautumisruutusi käyttäjänä on edelleen bash tällä hetkellä.

/bin/bash on yleisin linux-järjestelmän käyttäjätunnusten oletustulkkina käytetty tulkki. Shellin nimi on lyhenne sanoista Bourne-again shell. Bash voi suorittaa valtaosan skriptejä ja siten on laajalti käytetty, koska se on enemmän ominaisuuksia, on hyvin kehittynyt ja parempi syntaksi.

MIKÄ SE ON ? MIKSI KÄYTÄMME SITÄ?

#!/bin/bash
echo $(date) # Will print the output of date command
touch ~/output.txt
echo "Hey there" > ~/output.txt

tarkastellaan hyvin yksinkertaista kirjoitusta kuten yllä. Yksinkertaisimmassa tapauksessa, jos analysoimme komentotulkin komentosarjaa, se on vain tiedostoon tallennettujen komentojen luettelo. Se vähentää ponnistelujamme suorittaa sama tehtävä tai komentoja uudelleen ja uudelleen. Joten jos katsomme käsikirjoituksen alkua, ensimmäinen rivi alkaa hash ( # ) ja huutomerkillä (!). Kuten jo täytyy tietää, että jokainen rivi alkaa hash ( # ), luetaan kommentti. Niinpä kun suoritamme käsikirjoituksen, ensimmäinen rivi luetaan kommentiksi ja tulkki siirtyy toiselle riville. Ykkösketju on kuitenkin jo tehnyt tehtävänsä.

Unixin kaltaisissa käyttöjärjestelmissä, kun she-bangilla alkava skripti(#!) suoritetaan ohjelmana, ohjelmalataaja jäsentää loput skriptin alkurivistä tulkkidirektiiviksi. Täten määritetty tulkkiohjelma ajetaan sen sijaan, välittäen sille argumenttina alun perin komentosarjan läpi käytetyn polun.

Oletetaan, että jokin kirjoitus alkaa seuraavalla rivillä:

#!/bin/sh

tämän jälkeen ohjelman lataajaa neuvotaan käyttämään /bin/sh-ohjelmaa minkä tahansa muun sijasta, ohittaen komentosarjan polun ensimmäisenä argumenttina.

yksinkertaisina sanoina komentosarjan kärjessä oleva she-bang kertoo järjestelmälle, että tämä tiedosto on joukko komentotulkkiin syötettäviä komentoja. Unix-tyyppisissä käyttöjärjestelmissä on erilaisia kuoria ja jokainen komentosarjan otsakerivi kutsuu eri komentotulkkia.

SOME she-bang EXAMPLES

#!/bin /sh :suorittaa skriptin käyttäen Bourne-komentotulkkia tai yhteensopivaa komentotulkkia, jossa path/bin / sh

#!/bin / bash :suorittaa komentosarjan Bash-komentotulkin avulla.

#!/bin / csh-f :suorittaa komentosarjan käyttäen C-komentotulkkia tai yhteensopivaa komentotulkkia.

#!/usr/bin / perl-T :suorittaa komentosarjan käyttäen Perliä, jolloin valittavana on maalitarkistus

#!/usr/bin / env python :Suorittaa komentosarjan Pythonin avulla etsimällä python-tulkin polun automaattisesti ympäristömuuttujista

Toivottavasti sinulla on parempi käsitys siitä, mitä she-bang on nyt ja mitä tarkoitusta se palvelee.

Vastaa

Sähköpostiosoitettasi ei julkaista.

Previous post a definitive Guide to Find the Best Zero Turn-ruohonleikkuri kukkuloille
Next post Paulownia Lumber ja Pre-jyrsitty liuskat