(#!/ bin / bash ) mi is ez pontosan ?

ez az első sor (#!/ kuka / bash vagy #!/ bin / sh) van egy neve. She-bang(shabang) néven ismert. Ez a sharp (#) és bang (!). Úgy is nevezik, mint sh-bang, hashbang, poundbang vagy hash-pling. A számítástechnikában a she-bang az a karaktersorozat, amely a karakterekből áll szám jel és felkiáltójel (#!) a forgatókönyv elején.

/bin/bash VS /bin/sh

gyakran láttunk különböző she-bang vagy script fejléc. Gyakran csodálkozunk azon, hogy miért használja az adott szkript az adott she-bang-ot, miért nem valami más. Unix-szerű operációs rendszereken többféle héj közül választhatunk. A shell nem csak a kis utasításokért felelős, hanem a szkript parancsainak értelmezéséért is. Így a héj különösen akkor játszik fontos szerepet, amikor nagy és összetett logikákat valósítunk meg feltételek, csövek , hurkok stb.felhasználásával.

a/bin/sh egy futtatható fájl, amely a rendszerhéjat képviseli, és általában szimbolikus linkként valósul meg, amely a rendszerhéjhoz tartozó futtatható fájlra mutat. A rendszerhéj alapvetően az alapértelmezett héj, amelyet a szkriptnek használnia kell. Az elmúlt néhány évben a Debian (és az Ubuntu) úgy döntött, hogy a rendszerhéjat bash — ról dash-ra cseréli-egy hasonló héj, de könnyebb és sokkal gyorsabb.

a Dash meglehetősen jól kompatibilis a bash-szal, ugyanazon a POSIX szabványon alapul. Azonban nem valósítja meg a bash-specifikus kiterjesztéseket. POSIX szabvány hordozható operációs rendszer interfész, kísérlet a UNIX-szerű operációs rendszerek szabványosítására. Annak ellenére, hogy az Ubuntu rendszerhéja dash-ra mutat, a bejelentkezési héj, mint felhasználó, továbbra is bash.

a/bin/bash a leggyakoribb shell, amelyet alapértelmezett héjként használnak a linux rendszer felhasználói bejelentkezéséhez. A shell neve A Bourne-again shell rövidítése. A Bash képes végrehajtani a szkriptek túlnyomó többségét, ezért széles körben használják, mert több funkcióval rendelkezik, jól fejlett és jobb szintaxis.

MI EZ ? MIÉRT HASZNÁLJUK?

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

Vegyünk egy nagyon egyszerű szkriptet, mint fent. A legegyszerűbb esetben, ha elemezzük a shell script, ez nem más, mint egy listát a parancsok fájlban tárolt. Csökkenti az erőfeszítéseinket, hogy ugyanazt a feladatot vagy parancsokat újra és újra futtassuk. Tehát, ha megnézzük a szkript elejét, az első sor egy hash ( # ) és egy felkiáltójel (!). Ahogy már tudni kell, hogy minden vonal kezdődő hash ( # ), olvasható, mint egy megjegyzést. Így amikor végrehajtjuk a szkriptet, az első sor megjegyzésként olvasható, az interpreter pedig a második sorra kerül. De az első sor már elvégezte a munkáját.

a Unix-szerű operációs rendszerek, amikor egy script kezdődő she-bang (#!) programként kerül végrehajtásra, a program betöltője értelmező direktívaként értelmezi a szkript kezdeti sorának többi részét. Így a megadott értelmező program Ehelyett fut, argumentumként átadva neki azt az utat, amelyet eredetileg a szkripten keresztül használtak.

tegyük fel, hogy bármely szkript a következő sorral kezdődik:

#!/bin/sh

ezután a program betöltőjét arra utasítják, hogy a /bin/sh programot használja bármely más helyett, első argumentumként átadva a szkript elérési útját.

egyszerű szavakkal, a szkript fején lévő she-bang azt mondja a rendszernek, hogy ez a fájl egy parancskészlet, amelyet a megadott parancsértelmezőnek kell betáplálni. A Unix-szerű operációs rendszerek különféle héjakkal rendelkeznek, és a szkript fejlécei mindegyike más-más parancsértelmezőt hív.

néhány she-bang példa

#!/ bin / sh: a parancsfájlt a Bourne shell vagy egy kompatibilis shell segítségével hajtja végre, a path / bin / sh

#!/ bin / bash :a szkriptet a Bash shell segítségével hajtja végre.

#!/ bin / csh-f :a parancsfájlt C shell vagy kompatibilis shell használatával hajtja végre.

#!/usr/bin / perl-T :a szkriptet a perl használatával hajtja végre a taint checks opcióval

#!/usr/bin / env python :Végrehajtja a script segítségével python keresi fel az utat a python tolmács automatikusan a környezeti változók

remélhetőleg jobban tudja, mi she-bang most, és milyen célt szolgál.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

Previous post döntő útmutató a legjobb nulla fordulatú fűnyíró megtalálásához dombokhoz
Next post Paulownia Fűrészáru és előre őrölt szalagok