Nga whakaritenga pai hei hanga i tetahi Tuhi Papa i GNU / Linux

Te tikanga ka timata koe ki te mahi i te Nga Wahanga Whakahaere Servers me te GNU / Linux me / ranei Unix Operating Systems, ka kitea e tetahi (nga kanohi) e mahi ana i tetahi waahi e kitea ana he paihere o nga mahi kua whakaritea i tuhia e etahi atu rangatira me tera i etahi wa me tika taatau whakahaere (whakahaere) hoki whakaotihia nga raru, whakapai me / te whakakore ranei, kia ea ai he whakaritenga hou mo te Tari te wahi e mahi ia. No reira ehara i te mea rereke, he hou SysAdmin I nga waahi mahi katoa, kei te raru koe i te mahi uaua ki te maarama ki etahi o Hōtuhi anga hangaia e etahi tawhito SysAdmin, kaore i te tino tuhia, kei roto ranei i te hanganga whaitake, tuhi ranei, he ngawari ki te maarama, ki te keehi tino kino ranei, me nga whakahau whakahau, kore whakaaro, tawhito, koretake, ka tuhia ranei i runga i te ahua raru me te whakama.

Tuhinga o te ShellAhakoa te whakatau i nga tuhinga kaore i tino tuhia he whakararuraru poto noa tenei, he ako tenei ki tetahi pai SysAdmin he mea nui. Mena ka hangaia e tetahi a Hōtuhi anga ki te whakamahi i tua atu o tenei ra he pai ake tonu tuhia ki a raatau i roto i te huarahi tino ngaio me te paerewa, kia roa ai te waa, ka taea e tetahi atu, i a ia ranei, te taha o te he iti te whakapau kaha me te matauranga e tutuki ai te maarama me te whakahaere i roto i te waa iti nei

Na reira, i muri i nga waahanga whaitake o nga whakaputanga i runga i "Akohia te Huringa Hipi" i reira ka tirotirohia e maatau etahi tuhinga tino whaihua me nga whakahau ngawari, ngawari hoki, ka tiimata ma tenei raupapa hou e kiia nei "Nga mahi pai ki te hanga i tetahi Papa Hika i te GNU / Linux", i reira ka tino aro atu tatou ki ia waahanga iti me te take mo nga mea maha, ara, ka tirohia e tatou etahi tohutohu kia pai ake ai to tuhi, engari kaore mo taatau ake, engari mo te tangata e whai ake nei (SysAdmin) me whakahaere e raatau. No reira kaore e tika kia haere koe ki roto i nga mahi hohaa me te uaua ki te rapu he aha taku e tohu ana, me pehea, me te aha, kaore e mahi.

I tenei tuatahi (1) pou Tuhinga o mua "Nga mahi pai mo te Huringa Kaaatua pai mo te GNU / Linux" Ka korero maatau mo nga mea e haere ana me uru ranei ki roto i te Pane Hōtuhi anga.

=======================================
HEADER - INVOCATION O TE SHELL
=======================================

#! / ara / whakamaori [parameter-argument]

Ko te raina o runga ko te hanganga taketake i karangahia ai he Huringa Huringa mo te GNU / Linux. Ko ona ahuatanga ka taea te korero penei:

#! => sha-bang

Te tangi-bang (#!) kei te tihi o te Hōtuhi ka hangaia, ka hangaia ranei he tuhinga e whakaatu ana ki ta maatau punaha Whakahaere ko ta maatau konae he huinga whakahau ka whainahia (ka whakamaorihia) e te kaiwhakamaori whakahau kua tohua i muri mai. Ko te takirua takirua #! mau, te mea he tau makutu rua-paita, he tohu motuhake tena tohua he momo konae, ana ki a maatau, he tuhinga anga anga ka taea te kawe. I muri tonu i te sha-bang ka puta te ingoa o ko te huarahi e whakamatea ai te kaiwhakamaori tae atu ki te ingoa o taua kaiwhakamaori. I etahi atu, koinei te huarahi ki te hotaka e whakamaori ana i nga whakahau o te tuhinga, ahakoa he kaiwhakamaori, he reo whakamaarama, he kaupapa whaihua ranei. Ka mahia e tenei anga nga tohu o te tuhinga, ka timata mai i runga (te raina i muri o te bang-bang), kaore e aro ki nga korero. Ko etahi sha bang ka taea e ratou

#! / bin / sh
#! / bin / bash
#! / usr / ipu / perl
#! / usr / ipu / tcl
#! / ipu / sed -f
#! / usr / awk -f

Ko nga raina kua whakaahuatia i runga ake nei (hei tauira) ka anga atu ki tetahi atu anga. Te raina / bin / sh, karanga te anga taunoa (Bash i runga i te punaha Whakahaerenga GNU / Linux) etahi atu mea rite ranei. Te whakamahi #! / bin / shTuhinga o mua Bourne Anga I roto i te nuinga o nga rereketanga arumoni o te UNIX-Operating Systems, na te reira i hanga te Tuhi kawe ki etahi atu punaha Whakahaerenga ehara i te Linux tika, engari he rite, he hangai ranei ki runga, ko te UNIX ranei, ahakoa he patunga motuhake tenei na te BASH. Heoi, te raupapa "#! / Ipu / sh" haangai ki te tikanga POSIX sh paerewa.

Kia mahara ki tera ko te ara i hoatu i te ha-bang me tika, ki te kore he korero he, he tikanga "Kare i kitea te whakahau", koinei noa te hua o te mahinga tuhinga. Kia maumahara ki te takirua takirua »#! « ka taea te karo mena kei roto i te Hōtuhi he huinga noa o te punaha Whakahaerenga Whakahaa whanui, ara, me te kore e whakamahi i nga tohutohu a-a-roto. Ana kia mahara ano hoki ki tera »#! / Bin / sh« ka tono i te kaiwhakamaori anga taunoa, ka taka ki »#! / Bin / bash« i roto i te roopu me ia Pūnaha Whakahaere GNU / Linux.

Mo nga tautohe, he maha nga mea ka taea te whakamahi engari ko te mea noa ko: »-E«. e hanga ana i te tuhinga whakamana i nga hapa whakahekenga o tetahi otao (raina whakamana) a mena he pai, akina te aukati me te putanga, he angamaheni he »-F« hoki tohua ko wai te tuhinga hei uta a ko tetahi o nga mea onge rawa ko »-Rm« e mahi ana i te mukunga o te waa ka mutu ana te mahinga. Ka taea noa te whakarite ki te sha bang ki runga tautohe kotahi (tawhā) i muri i te ingoa o te papatono kia mahia.

Hei whakamutunga, korero ki te tuhinga nga taurangi o te ao ka whakamahia e koe i nga waahanga nui o to waehere, mo te whakatuturutanga o nga huihuinga, penei i te huarahi whakatutukitanga, te kaiwhakamahi whai mana, te ingoa tuhinga, me etahi atu. Ka mutu ki te nga raraunga o te hotaka, kaihanga, whakaritenga, me etahi atu, me nga raihana e pa ana ki te kaupapa.

Ko aku tohutohu (Nga tikanga pai) ki te whiriwhiri i te bang-bang pai rawa atu me te pane a Hōtuhi anga Ko:

#! / usr / bin / env bash

He aha te whakamahi i te whakahau »Env« Ka tohua e maatau ki te punaha whakahaere te kaiwhakamaori ki te whakamahi me te ara tika i whakaputahia i roto i a ia ma te taunoa, e ahei ai matou ki te whai sha bang kia piki ake ta maatau kawe, na te mea kaore i te katoa OS GNU / Linux he rite tonu te huarahi o nga kaiwhakamaori, o nga hotaka ranei. A kaore he tautohetohe, na te mea he pai ake te whakamahi i te whakahau huinga, na te mea ki a ia ka taea e tatou whakamana i nga hapa, whanui (-e) motuhake ranei (+ x / -x), ki te maarama tatūkē o te ao mo te taiao (-aku) me nga waahanga motuhake (-u / –unset). Ka mutu, ki mahia he (- o) mahi taapiri i roto i te tuhinga.

Na ko taku PONO kua taunakitia:

#! / usr / bin / env bash
# Tohua te kaiwhakamaori bash me te ara tino ma te punaha whakahaere.

whakaturia -o errexit
# Ki te korero ki te tuhinga roa me kati ka kati ana ka kore he whakahau, te raina whakatinana ranei.

whakatu -o kupu whakaingoa
# Ki te korero ki te tuhinga ka mutu me kati ka ngana ana te tuhinga ki te whakamahi i nga taurangi kore korero.

whakaturia -o paipaahere
# Ki te tiki i te mana putanga o te ota whakamutunga i whakahoki mai i te waehere putanga kore-kore.

# huinga -o xtrace
# Hei whai i nga mea e rere ana. He pai mo te whakakore. Whakahohea kia tirohia nga hapa noa iho.

Kia maumahara ki te whai ano i enei korero.

01.- Te tohu i to waehere: He mea nui te whakarite i to waehere, a he mea e warewarehia ana hoki e te tini tangata. Ngana ki te tarai i nga tohu kia mohio ai koe ki tetahi hanganga whaitake e pai ana ki te titiro atu.

02.- Taapirihia nga waahi i waenga i nga waahanga waehere: Ma tenei e maarama ai te waehere, na te mea ko te mokowhiti i nga waahanga, waahanga ranei hei awhina i te waehere kia panui, kia maarama hoki.

03.- Te korero kia taea mo te waehere: I te tihi (i raro ranei) o ia Ota Whakahaua (Raina Whakamana), Wahanga Waehere ranei he mea pai ki te taapiri i te whakaaturanga o te mahinga o nga ota (whakahau) hei whakamaarama i nga mea ka tupu i roto ano i te waehere.

04.- Hangaia he taurangi me nga ingoa whakaahuatanga o a raatau mahi: Whakaritehia nga ingoa taurangi whakaahuatanga e tino tohu ana i nga mahi hei hanga. Ahakoa ka hangaia e koe he taapiri taupua kaore e whakamahia i waho o te waehere waehere kotahi, he pai tonu te tuku ingoa e tino whakamaarama ana (he kaupapa) he whakamaarama he aha nga uara me nga mahi e whakahaerehia ana.

05.- Whakamahia te wetereo VARIABLE = $ (whakahau) mo te whakakapi i te whakahau: Mena kei te hiahia koe ki te hanga taurangi e ahu mai ana tona uara mai i tetahi atu whakahau, e rua nga huarahi hei mahi ma te bash. Ki te tuara, ara, me nga kiripuaki " , Hei tauira: VARIABLE = `whakahau -whakarato tohu`, engari kua pau ke, na ko te wetereo VARIABLE = $ (whakahau) koinei te huarahi tino hou, manakohia ana me te taunaki. KORE -> RĀNEI = `rā +% F` / YES -> RĀNEI = $ (rā +% F)

06.- Whakamahia nga waahanga me / ranei Nga taurangi Whakamana o Superuser me te Kaiwhakamahi Whakamana me te kore o te kupuhipa. Hei whakanui ake i nga taumata ahuru mena e tika ana.

07.- Whakamahia nga waahanga me / ranei taurangi o te Whakaaetanga o te punaha Whakahaere (Distro, Putanga, Hoahoanga): ki te aukati i te whakamahinga o nga papa pai.

08.- Whakamahia nga waahanga (tikanga / waahanga) hei whakaū i te whakatutukitanga o nga mahi whakahirahira, mahi puranga ranei (waahanga / mahi): Hei whakaiti i nga hapa na te whakapainga ake, te tupato ranei.

09.- Whakaratohia nga Waahanga Whakahoahoa Kaiwhakamahi (Kaiwhakamahi-hoa): Na Terminal me nga tahua me nga tae me te kōrero me te Atanga Whakairoiro mo nga Kaiwhakamahi Tuatahi me te Zenity, Gxmessage. Ki te taea whakamahia te tautoko o nga matohi sonic e tautuhi ana i nga kaupapa e mohiotia ana e ai ki te tangi. I tarai ahau i nga mea e taea ana e to Kaituhi mahi i nga huarahi e rua ma te ahei me te whakaweto i nga whiringa / waahanga / mahi.

10.- Whakauruhia nga miihini Powhiri me te Poroporooro (karere): ki te tika ki te whakapiki ake i te taunekeneke ki te kaiwhakamahi.

11.- Whakauruhia he tohu whakatu whakamana takirua: Hangaia he konae raka hei aukati i te mahinga mai i te wa kotahi neke atu i te wa kotahi.

12.- Whakatauritea te rahi o te tuhinga me nga mahi o waho me / nga waahanga ranei: Mena he nui rawa te Hōtuhi, wehehia te waehere ma te whakamahi i nga mahi ka tohaina ranei ki nga tuhinga iti ka whakamahia ma te tuhinga matua.

13.- He tono marama, marama hoki, te karanga ki etahi atu Kaiwhakamamaori (reo whakamaori) i roto i te tuhinga: Karangahia kia maarama ki nga raina, ki nga waahanga ranei.

Hei tauira:

# ================================================== #
#!/bin/bash
#Llamando a un interprete externo a BASH
echo 'El siguiente texto será mostrado por el interprete de PERL'
perl -e 'print "Este texto es mostrado por un script PERL embebido.\n";'
exit 0
# ==================================================#

 

# ==================================================# 
#!/bin/bash #Llamando al interprete de Python. 
echo 'El siguiente es un script de python:'
echo print "Hola, mundo!" | tee $HOME/.testpythonbash.py
python $HOME/.testpythonbash.py exit 0
# ==================================================#

 


# ======================================================= #
#!/bin/bash
# bash-y-perl.sh

echo "Saludos desde la parte BASH del script."
# Es posible añadir mas comandos BASH aqui.

exit 0
# Fin de la parte BASH del script.

###########################################################

#!/usr/bin/perl
# Esta parte del script se invoca con la opcion -x.

print "Saludos desde la parte PERL del script.\n";
# Podemos añadir mas comandos PERL aqui.

# Fin de la parte PERL del script.
# ======================================================= #
 

I roto i nga whakaputanga o muri ake nei ka whakawhanui ake taipitopito i ia mahi e whakaaturia ana i runga ake nei.

Ana mena e mohio ana koe ki etahi atu mahi pai maau ake, ma etahi atu ranei, kaua e whakaae ki te tuku korero ki a raatau kia pai ai te whakakotahitanga!

Kia tae noa ki te whakaputanga o muri o tenei waahanga hou.


Ko nga korero o te tuhinga e piri ana ki o maatau kaupapa o matatika whakatika. Ki te ripoata i tetahi paatene paato Here.

6 korero, waiho maau

Waiho to korero

Ka kore e whakaputaina tō wāhitau īmēra.

*

*

  1. He kawenga mo nga raraunga: Miguel Ángel Gatón
  2. Te kaupapa o te raraunga: Whakahaerehia te SPAM, te whakahaere korero.
  3. Ture: To whakaae
  4. Whakawhitinga korero: Kaore nga korero e tukuna ki nga taha tuatoru engari ma te ture herenga.
  5. Rokiroki raraunga: Paetukutuku e whakahaerehia ana e Occentus Networks (EU)
  6. Tika: I nga wa katoa ka taea e koe te whakaiti, te whakaora me te muku i o korero.

  1.   Max j ​​rodriguez ka mea

    Kotahi noa te korero, ko te "shebang" "
    tino pai te pou, nga mahi pai i te wa roa ka awhina tonu ki te paerewa paerewa.

  2.   Ko tetahi i paahitia e konei ka mea

    Ko te Bash ehara i te anga taunoa o nga tohatoha katoa, na reira ko te hononga / bin / sh tohu kore e tohu tonu ki te peera. Hei tauira mo Debian (a ko taku whakaaro ko Ubuntu):
    $ ls -l / bin / sh
    lrwxrwxrwx 1 pakiaka pakiaka 4 aza 8 2014 / bin / sh -> dash
    Ko te anga taunoa kei runga i a Debian kua porahurahu. Tirohia i konei: https://wiki.debian.org/Shell

  3.   kore ingoa ka mea

    Hei tohu ki te mohio ki te Anga e Whakamahia ana:

    oro $ 0
    oro $ SHELL
    env | grep ANGA

  4.   Ingarangi Jose Albert ka mea

    He tika taau! I whakamatauhia e au i te DEBIAN 9 me te Kali Linux 2.0 he pono! kawe koe ki te taia. Ano hoki ko te taunakitanga a: #! / Usr / bin / env bash mena mena ko te Anga e hiahia ana koe ki te whakamahi.

    Ana he tika taau he shebang, engari kei runga i etahi paetukutuku (tuhinga hangarau) ka kiia ko shabang etahi atu kupu ranei, na reira ka raruraru ahau. Tauira:

    I te rorohiko, ko te shebang te raupaputanga o te tangata me te tohu tohu me te tangi (#!) I te timatanga o te tuhinga. Ka kiia hoki ko sha-bang, [1] [2] hashbang, [3] [4] pauna-bang, [5] te hipoki ranei

    i: https://en.wikipedia.org/wiki/Shebang_%28Unix%29

    Y Upoko 2. Ka Tiimata Atu Me Te Ha-Bang
    i: http://www.tldp.org/LDP/abs/html/sha-bang.html

  5.   Ingarangi Jose Albert ka mea

    Ano hoki: basename $ 0