Shell Scripting - Introduction & Shebang
Talaan ng mga Nilalaman:
- Direkta ng Tagapagsalin ng Shebang
- Paggamit ng Shebang sa Mga script ng Bash
- Halimbawa ng Script
- Sobra ang Shebang
- Konklusyon
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 ngbashupang mai-parse ang file.#!/usr/bin/env perl- Gumagamit ng utos ngenvupang hanapin ang landas patungo saperlmaipatupad.#!/usr/bin/pythonSinusubaybayan ang file gamit angpythonbinary.
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.
-
Gamit ang ganap na landas sa binary bash:
#!/bin/bashGamit ang
envutility:#!/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
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 bashMicrosoft Research Asia Nagtatampok Gates sa 10 Taon Bash
Ang Microsoft Research Asia ay lumago mula sa isang dosenang tao noong 1998 hanggang sa higit sa 350 dekada mamaya.
Paano patakbuhin ang Bash sa Ubuntu sa Windows 10
Ang pagpapaandar sa Windows Subsystem para sa Linux ay magbibigay-daan sa iyo upang patakbuhin ang Bash sa Ubuntu sa Windows 10, Bash script , Linux-first tools.
Pagdating ng Bash
Ang mga arrow ay isa sa mga pinaka ginagamit at pangunahing istruktura ng data. Sa artikulong ito, takpan namin ang mga darating na Bash, at ipaliwanag kung paano gamitin ang mga ito sa iyong mga script ng Bash.







