Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Talaan ng mga Nilalaman:

Anonim

Ang pagkakasunud-sunod ng mga character ( #! ) Ay tinatawag na shebang at ginagamit upang sabihin sa operating system na ginagamit ng tagasalin upang i-parse ang natitirang file.

Direkta ng Tagapagsalin ng Shebang

Ang direktoryong tagapagsalin ng Shebang ay tumatagal ng sumusunod na form:

#!interpreter

  • Ang direktiba ay dapat na unang linya sa script.Ang direktiba ay dapat magsimula sa shebang #! Opsyonal na puting puwang matapos ang mga character na shebang ay opsyonal.Interpreter ay ang buong landas sa isang binary file (ex: /bin/sh , /bin/bash ).Ang mga argumento ngnterpreter ay opsyonal.

Mga halimbawa:

  • #!/bin/bash - Gumagamit ng bash upang mai-parse ang file. #!/usr/bin/env perl - Gumagamit ng utos ng env upang hanapin ang landas patungo sa perl maipatupad. #!/usr/bin/python Sinusubaybayan ang file gamit ang python binary.

Paggamit ng Shebang sa Mga script ng Bash

Kung ang isang shebang ay hindi tinukoy at ang gumagamit na nagpapatakbo ng script ng Bash ay gumagamit ng isa pang Shell ang script ay mahihiwalay ng anuman ang default na tagasalin na ginagamit ng Shell na iyon. Halimbawa, ang default na tagasalin para sa bash ay bash at para sa zsh ay sh . Upang matiyak na ang iyong script ay palaging isasalin sa Bash kakailanganin mong tukuyin ang maipapatupad na landas gamit ang shebang.

Mayroong dalawang paraan upang magamit ang direktiba ng Shebang at itakda ang tagasalin.

  1. Gamit ang ganap na landas sa binary bash:

    #!/bin/bash

    Gamit ang env utility:

    #!/usr/bin/env bash

Ang bentahe ng paggamit ng pangalawang diskarte ay maghanap ito para sa bash maipapatupad sa variable na kapaligiran ng $PATH . Kung mayroong higit sa isang mga landas upang bash , ang una ay gagamitin ng script.

Kapag gumagamit ng unang pagpipilian upang magdagdag ng isang pagpipilian sa supply ng Bash shell ipasa ito sa tagasalin. Halimbawa, upang patakbuhin ang script sa isang mode ng debug gagamitin mo ang #!/bin/bash -x . Kung gumagamit ka ng paraan ng env , kailangan mong gumamit ng set upang maipahayag ang pagpipilian. Upang paganahin ang mode ng debug ay magdagdag ka ng set -x pagkatapos ng linya ng shebang.

Halimbawa ng Script

Gumawa tayo ng isang simpleng script gamit ang shebang na mag-print ng "Kumusta, Mundo". Buksan ang iyong text editor at i-paste ang sumusunod na linya:

nano hello_world hello_world

#!/bin/bash echo "Hello, World"

Upang mapatakbo ang script nang hindi tinukoy ang tagasalin mula sa linya ng utos kakailanganin mong gawin ang maipapatupad na file:

chmod +x hello_world

Ngayon kung maaari mong patakbuhin ang script sa pamamagitan ng pag-type ./ sinusundan ng pangalan ng script:

./hello_world

Hello, World

Sobra ang Shebang

Kung sa ilang kadahilanan na nais mong i-override ang set ng tagasalin sa linya ng Shebang kailangan mong patakbuhin ang script sa pamamagitan ng tahasang tinukoy ang nais na shell.

Halimbawa upang magpatakbo ng isang script na mayroong #!/bin/sh tinukoy sa linya ng Shebang gamit ang bash shell na iyong i-type:

bash hello_world

Mangyaring tandaan, hindi magandang ideya na ma-override ang tagasalin ng shell dahil maaari itong humantong sa hindi inaasahang pag-uugali ng script.

Konklusyon

Sa ngayon dapat kang magkaroon ng isang mahusay na pag-unawa sa kung ano ang Shebang at kung paano gamitin ito sa iyong mga script ng Bash.

terminal ng bash