Guide Principiante à BASH - Parametri d'Input

Benvenutu à a 2a parte di a guidate di principianti À a serie BASH chì hè unicu chì hè l'unicu tutoriale BASH scrittu da un novu per i principianti.

I lettori di sta guidativa custruiscenu i so sapienti cumu aghju avutu u mo sapè è sperendu per questu di tuttu, seremu capaci di scrive scatuli abbastanti scarpite.

A semana passata aghju coperto u so primu scrittore chì simpricimenti simpricimenti i paroli "Hello World". Cuntenà temi cum'è edituri di testi, cumu si apre u finestra di cunfirmazione, duverebbenu vostri scrittura, cumu fà cumparisce i "Hello World" è quarchi punti più boni nantu à i caratteri scappi, cum'è quotes ("").

Questa settimana vogliu scopra i paràmetri di input. Ci sò altre guidate chì inserenu questa sorte di qualchì cosa, ma sughjettu chì spunta in parechje livellu bassu livellu è forsi furnisce assai informazioni.

Chì hè Un Parametru?

In u scrittore "Hello World" da l'ultimu tutorial era tuttu staticu. L'scriptu ùn hà micca veramente assai.

Cumu puderemu migliurà annantu à l'script "Hello World"?

Ciò chì guasgi un script chì salute à a persone chì curria? Invece di esse "Hello World" diciarà "Hello Gary", "Hello Tim" o "Hello Dolly".

Senza a capacità di accettà paràmetri di ingressu avemu bisognu di scrive à trè scritti "hellogary.sh", "hellotim.sh" è "hellodolly.sh".

Permettenu chì u nostru script di leghje parametri di ingressu pudemu usà un script per salve à nimu.

Per fà quì sottu una finestra di cuntazione (CTRL + ALT + T) è navigate à u cartulare di scrittura scritte i seguenti: ( about cd command )

cd scripts

Cumentu un novu scrittore chjamatu greetme.sh aghjustendu u seguente: ( nantu à l'ordine di tegnu )

toccu greetme.sh

Apertu a scrittura in u vostru editore favuritu scritte i seguenti: ( nantu à l'ordine nano )

nano greetme.sh

Intria u testu in nano:

#! / bin / bash echo "hello $ @"

Prene CTRL e O per guardà u file è CTRL e X per cichjarà u schedariu.

Per executà u script in scrive ghjunghjenu à a linea di l'ordine in rimpiazzu cù u vostru nome.

sh greetme.sh

Se diriggi l'script cu u mo nome, vede u parolle "Hello Gary".

A prima linea hè a #! / Bin / bash line chì hè utilizata per identificà u schedariu com'è scrittore bash.

A seconda linea usa a dichjarazione di ecu per fassi risultà a ghjente bonu, è quì ci hè a notazione straniera di $ @. ( nantu à echo command )

U $ @ cresce per visualizà ogni paràmetru chì hè statu intrutu cù u nome di scrittore. Cusì s'entruppula "sh greetme.sh tim" i paroli "hello tim" virificate. Sì scrive "greetme.sh tim smith", perchè e parolle "hello tim Smith" si vede.

Pò esse bonu per l'script di greetme.sh per esse ghjustu salute solu per u primu nomu. Nisunu dice "hello gary newell" quandu si scopre, puderanu esse "hello gary".

Mandemu cancianu l'script cum'è juste usa u primu paràmetru. Scambià dapoi greetme.sh in nano scrivutu i seguenti:

nano greetme.sh

Change the script so chì leghje cusì:

#! / bin / bash echo "hello $ 1"

Salvà u script scripted in CTRL and O and then exit press CTRL and X.

Scaricate l'script cumu seguite sottu (rimpiazzà u mo nome cù u vostru):

sh greetme.sh gary newell

Quandu puderete andà in scrittura, simpricamente dicerà "hello gary" (o speru "hello" è quantu vostru nome hè.

U 1 dopu à u simbulu $ simu basamente à l'ordine di ecu, utilizate u primu paràmetru. Sè vo pudete rimpiazzà i $ 1 cun un $ 2 allora pudia esse "hello newell" (o quantu hè u vostru apellu hè).

Incidentamenti si avete sumpititu u $ 2 cun $ 3 è hà scumpete u scrittore solu cù 2 paràmetri, a sorsa hè solu "Hola".

Hè pussibule di visualizà è gestione u numeru di parametri veramente intrattenuti è in tutte tutoriale dopu avè da esse aduprate cumu utilizà u numeru di u paràmetru per a validazione.

Per visualizà u nùmeru di paràmetri scrizziati aperte l'script greetme.sh (nano greetme.sh) è mudificà u testu da quì:

#! / bin / bash echo "intitatu $ # nomi" eco "hello $ @"

Prene CTRL e O per salvà u script è CTRL è X à u nano da a sera.

U $ # nantu à a 2a linea indicate u nummiru di paràmetri accaduti.

Questu tuttu questu hè statu novu, ma micca assai utile. Quale hè bisognu di scrittura chì simpricimenti simbulizeghja "salut"?

U veru usatu per echi affirmazioni hè di furnisce issu prughjettu è significatu à l'utilizatori. Se pudete pinsà chì vo vulete fà una cosa complicata chì implica un numeru numru seriu è u manipulazione di schedulare / cartulare, serà utile a visualizà à l'utilizatore ciò chì passa in ogni passu di a strada.

In contraste, i paràmetri di ingranziu facenu u vostru script interattivu. Sì paràmetri di ingranziamentu chì avete bisognu di decade di scripts all doing things very similar but with names slightly different.

Cumu tutte di questu in mente ci sò qualchì altru paràmetru di ingranziatu utile chì hè una bona idea per sapè è vi i includemu tutti in un snippeto di còdici.

Apertura u vostru scrittore greetme.sh è mudificate questu manera:

#! / bin / bash echo "Filename: $ 0" eco "Process ID: $$" echo "---------------------------- --- "eco" hà intesu $ # nomi "eccu" olo $ @ "

Press CTRL è O per guardà u file è CTRL è a X per esce.

Scaricate l'script (rimpiazzate cù u vostru nome).

sh greetme.sh

Questu ora u scrittore mostra u seguente:

Filename: greetme.sh Process ID: 18595 ------------------------------ intziu 2 nomi hello gary newell

U $ 0 in a prima linea di u script scripturà u nome di u script chì viaghja. Note chì hè u cero di latinu è micca u dólaru o.

U $$ nantu à a seconda linea mostra l'id di prucessu di u scrittore u vostru esercitu. Perchè stu utile? Sè vo site per esse in scrittura in u primu precunitu pudete annulerà ella solu cù CTRL è C. Si avete curatu u scrittore in u sughjettu è hà cuminciatu cumerci è fà ciò chì tocca è più o avete cuminciatu à causà danni à u vostru sistema, avete bisognu à tumbà.

Per fà scopre un script cumminciare in u fondo, necessite u prucessu id di u script. Ùn avete bè bè s'ellu u guidanu hà datu u prucessu id com'è parte di a so pruduzzioni. ( circa ps è cummanda sacrificà )

Finalmente, prima di finisce stu tema, vulia discutiri da quale hè a salda. Ogni vota u guidatu hè scurtatu da questa data a pruduzzione hè statu indicata nantu à a pantalla.

Hè abbastanza cumuni per u scrittura output per esse scritte à un schedariu di pruputu. Per fà sta scrivenu u vostru script as follows:

sh greetme.sh gary> greetme.log

U simbulu in u cumandante cumendio outputs u testu "hello gary" à un schedariu chjamatu greetme.log.

Ogni vota duvete u script secondu u> simbolu chì scrivite u cuntenutu di u schedariu di uputatu. Se preferite append to the file reemplambisce u> cù>.

Resumen

Avete da esse issa capaci di scrìviri testi à a pantalla è accetta paràmetri di ingressu.