PHP Tutorials | PHP For Beginners
Talaan ng mga Nilalaman:
- Pagpapahayag ng Bash Function
- Mga Saklaw ng variable
- Bumalik na mga Halaga
- Pagpasa ng Mga Pangangatwiran sa Mga Bash Function
- Konklusyon
Ang isang function na Bash ay mahalagang isang hanay ng mga utos na maaaring tinawag nang maraming beses. Ang layunin ng isang function ay upang matulungan kang gawin ang iyong mga script ng bash na mas madaling mabasa at upang maiwasan ang pagsusulat ng parehong code nang paulit-ulit.
Kumpara sa karamihan ng mga wika sa pag-programming, ang mga pag-andar ng Bash ay medyo limitado. Sa tutorial na ito, takpan namin ang mga pangunahing kaalaman ng mga pag-andar ng Bash at ipapakita sa iyo kung paano gamitin ang mga ito sa iyong mga script ng shell.
Pagpapahayag ng Bash Function
Ang syntax para sa pagpapahayag ng isang pag-andar ng bash ay napaka-simple. Maaari silang ipahayag sa dalawang magkakaibang mga format:
-
Ang unang format ay nagsisimula sa pangalan ng pag-andar, na sinusundan ng mga panaklong. Ito ang gusto at mas ginagamit na format.
function_name () { commands }Bersyon ng solong linya:
function_name () { commands; }Ang pangalawang format ay nagsisimula sa salitang inilalaan ng
functionsinusundan ng pangalan ng pag-andar.function function_name { commands }Bersyon ng solong linya:
function function_name { commands; }
Kaunting mga puntos na mapapansin:
- Ang listahan ng utos sa pagitan ng mga kulot na braces
{}ay ang katawan ng pagpapaandar. Ang mga kulot na braces na pumapalibot sa katawan ng pag-andar ay dapat na paghiwalayin sa katawan sa pamamagitan ng mga puwang o newlines. Upang humimok ng isang function na bash, gamitin lamang ang pangalan ng pag-andar. Ang mga utos sa pagitan ng mga kulot na braces ay isinasagawa tuwing ang pagpapaandar ay tinawag sa script ng shell.Ang kahulugan ng pagpapaandar ay dapat mailagay bago ang anumang mga tawag sa function.Kapag gumagamit ng solong linya na "compact" function, isang semicolon;dapat sundin ang huling utos sa function.You dapat palaging subukan upang mapanatili ang naglalarawan ng iyong mga pangalan ng function.
Upang maunawaan ito nang mas mahusay, tingnan ang sumusunod na halimbawa:
~ / hello_world.sh
#!/bin/bash hello_world () { echo 'hello, world' } hello_world
Suriin natin ang linya ng code ayon sa linya:
- Sa linya
3tinukoy namin ang pagpapaandar sa pamamagitan ng pagbibigay nito ng isang pangalan, at pagbubukas ng kulot na brace{na nagmamarka ng pagsisimula ng katawan ng function.Line4ay ang function ng katawan. Ang function ng katawan ay maaaring maglaman ng maraming mga utos at variable na mga pagpapahayag.Line5, ang pagsasara ng kulot na bracket}, tinukoy ang pagtatapos nghello_worldfunction.In line7kami ayhello_worldng pagpapaandar. Maaari mong isagawa ang pag-andar nang maraming beses hangga't kailangan mo.
Kung nagpapatakbo ka ng script, mag-print ito ng
hello, world
.
Mga Saklaw ng variable
Ang mga variable ng mundo ay mga variable na maaaring mai-access mula sa kahit saan sa script anuman ang saklaw. Sa Bash, ang lahat ng mga variable sa pamamagitan ng default ay tinukoy bilang global, kahit na ipinahayag sa loob ng pag-andar.
Ang mga lokal na variable ay maaaring ipahayag sa loob ng body function na may
local
keyword at maaari lamang magamit sa loob ng function na iyon. Maaari kang magkaroon ng mga lokal na variable na may parehong pangalan sa iba't ibang mga pag-andar.
Upang mas mahusay na ilarawan kung paano gumagana ang mga variable na saklaw sa Bash, isaalang-alang natin ang isang halimbawa:
~ / variable_scope.sh
#!/bin/bash var1='A' var2='B' my_function () { local var1='C' var2='D' echo "Inside function: var1: $var1, var2: $var2" } echo "Before executing function: var1: $var1, var2: $var2" my_function echo "After executing function: var1: $var1, var2: $var2"
Nagsisimula ang script sa pamamagitan ng pagtukoy ng dalawang pandaigdigang variable
var1
at
var2
. Pagkatapos isang function na nagtatakda ng isang lokal na variable
var1
at binabago ang global variable
var2
.
Before executing function: var1: A, var2: B Inside function: var1: C, var2: D After executing function: var1: A, var2: D
Mula sa output sa itaas, maaari nating tapusin na:
- Kung nagtakda ka ng isang lokal na variable sa loob ng katawan ng pag-andar na may parehong pangalan bilang isang umiiral na global variable, magkakaroon ito ng unahan sa pandaigdigang variable. Ang mga variable ay maaaring mabago mula sa loob ng pag-andar.
Bumalik na mga Halaga
Hindi tulad ng mga pag-andar sa "tunay" na wika ng programming, hindi pinapayagan ka ng mga function ng Bash na ibalik ang isang halaga kapag tinawag. Kapag nakumpleto ang isang pag-andar ng bash, ang halaga ng pagbabalik nito ay ang katayuan ng huling pahayag na isinagawa sa pagpapaandar,
0
para sa tagumpay at di-zero na numero ng desimal sa saklaw ng 1 - 255 para sa pagkabigo.
Ang katayuan ng pagbabalik ay maaaring matukoy sa pamamagitan ng paggamit ng keyword na
return
, at itinalaga ito sa variable na
$?
. Ang pahayag ng
return
nagtatapos sa pag-andar. Maaari mong isipin ito bilang katayuan ng exit's function.
#!/bin/bash my_function () { echo "some result" return 55 } my_function echo $?
some result 55
Upang talagang ibalik ang isang di-makatarungang halaga mula sa isang function, kailangan nating gumamit ng iba pang mga pamamaraan. Ang pinakasimpleng pagpipilian ay ang magtalaga ng resulta ng pag-andar sa isang pandaigdigang variable:
~ / return_values.sh
#!/bin/bash my_function () { func_result="some result" } my_function echo $func_result
some result
Ang isa pa, mas mahusay na pagpipilian upang ibalik ang isang halaga mula sa isang function ay upang ipadala ang halaga sa
stdout
gamit ang echo o
printf
tulad ng ipinakita sa ibaba:
#!/bin/bash my_function () { local func_result="some result" echo "$func_result" } func_result="$(my_function)" echo $func_result
some result
Sa halip na
func_result
lamang ang pagpapaandar na mag-print ng mensahe sa stdout, nagtatalaga kami ng function na output sa variable na
func_result
gamit ang
$()
utos na kapalit. Ang variable ay maaaring magamit kung kinakailangan.
Pagpasa ng Mga Pangangatwiran sa Mga Bash Function
Upang maipasa ang anumang bilang ng mga argumento sa pag-andar ng bash lamang ilagay ang mga ito nang tama pagkatapos ng pangalan ng function, na pinaghiwalay ng isang puwang. Ito ay isang mabuting kasanayan upang i-double-quote ang mga argumento upang maiwasan ang maling pag-aarkila ng isang argumento na may mga puwang sa loob nito.
- Ang mga nakapasa na mga parameter ay
$1,$2,$3…$n, na katumbas sa posisyon ng parameter pagkatapos ng pangalan ng function.Ang$0variable ay nakalaan para sa pangalan ng function.Ang$#variable ay humahawak ng bilang ng mga positional parameter / argumento na naipasa sa function.Ang mga$*at$@variable ay humahawak ng lahat ng posibilidad na mga parameter / argumento na naipasa sa pagpapaandar.- Kapag doble na naka-quote,
"$*"lumalawak sa isang solong string na pinaghiwalay ng puwang (ang unang karakter ng IFS) -"$1 $2 $n". Kapag nag-double quote,"$@"lumalawak sa magkakahiwalay na mga string -"$1" "$2" "$n".Kung hindi doble na sinipi,$*at$@ay pareho.
- Kapag doble na naka-quote,
Narito ang isang halimbawa:
~ / passing_arguments.sh
#!/bin/bash greeting () { echo "Hello $1" } greeting "Joe"
Konklusyon
Ang isang function na Bash ay isang bloke ng magagamit na code na dinisenyo upang maisagawa ang isang partikular na operasyon. Kapag natukoy, ang pagpapaandar ay maaaring tawaging maraming beses sa loob ng isang script.
Maaari mo ring basahin ang tungkol sa kung paano gumamit ng isang function ng Bash upang lumikha ng isang di malilimutang utos ng shortcut para sa isang mas mahabang utos.
terminal ng bashPaminsan-minsan ang mga update ay napakahalaga, ngunit ang pinaka-tila tulad ng tinkering. Ang PS3's Disyembre 2, 2008 v2.53 update ay nagdagdag ng full-screen na suporta para sa Adobe Flash. Ang pag-update ng Nobyembre 5, 2008 v.2.52 ay nagdala ng tatlong mga pag-aayos sa maliit na glitch. Ang Hulyo 29, 2008 v2.42-update ang enigmatically "pagbutihin [d] ang kalidad ng pag-playback ng ilang PlayStation 3 at PlayStation format software." Ang pag-update ng Hulyo 8, 2008 v2.41 ay naayos
Huwag ako mali, sa tingin ko talagang kahanga-hanga na nais ng Sony na maglinis ng ilang frequency. Ngunit hindi dapat isang kumpanya na may mga mapagkukunan ng Sony at isang predictable hardware development platform malinaw na ang windshield maagang ng panahon?
IDC: Pag-urong sa Pag-iimbak sa Pag-iimbak ng Imbakan sa Pag-iimbak
Ang kita ng imbakan ng enterprise disk ay nahulog 18.2 porsiyento sa unang quarter, higit sa lahat dahil sa pag-iingat ng customer, ayon sa kumpanya ng pananaliksik IDC .
Ang FTC noong Miyerkules ay inihayag na pinalawig nito ang pansamantalang pag-withdraw ng kaso laban sa antitrust laban sa Intel sa loob ng dalawang linggo habang ang dalawang panig ay nagpapatuloy sa mga talakayan sa pag-aayos. Ang unang FTC ay nagsuspinde sa mga legal na aksyon sa Hunyo 21, at ang bagong extension ay magbibigay ng mga pag-uusap sa pag-uusap hanggang Agosto 6. Ang isang ipinanukalang kasunduan ay nasa talahanayan, sinabi ng FTC sa isang pahayag.
Ang FTC noong Disyembre ay nagsampa ng isang kaso ng antitrust laban sa Intel, na nagcha-charge sa pinakamalaking tagagawa ng computer chip sa iligal na paggamit ng kanyang nangingibabaw na posisyon sa merkado upang pigilin ang kumpetisyon at palakasin ang kanyang monopolyo sa loob ng isang dekada. Sinasabi ng FTC na ang Intel ay nagsagawa ng isang "sistematikong kampanya" upang ihiwalay ang access ng mga rivals sa marketplace. Ang depinisyon ng FTC na sumulong sa isang kaso laban sa Intel ay du







