Დამწყებთათვის გზამკვლევი - ნაწილი 1 - გამარჯობა მსოფლიო

არსებობს ბევრი გიდები ინტერნეტში აჩვენებს, თუ როგორ უნდა შექმნათ Shell სკრიპტები გამოყენებით BASH და ეს სახელმძღვანელო მიზანია მისცეს ოდნავ განსხვავებული spin რადგან ეს წერია ვინმეს რომელსაც აქვს ძალიან პატარა ჭურვი სკრიფტინგის გამოცდილება.

ახლა თქვენ ალბათ ფიქრობთ, რომ ეს სულელური იდეაა, მაგრამ მე ვხედავ, რომ ზოგიერთი გიდები გელაპარაკება, თითქოს უკვე ხართ ექსპერტი და სხვა გიდები ძალიან გრძელია, რომ გაჭრა გაჭრა.

მიუხედავად იმისა, რომ ჩემი LINUX / UNIX shell სკრიპტის გამოცდილება შეზღუდულია, მე ვარ პროგრამული უზრუნველყოფის დეველოპერი ვაჭრობით და მე ვარ dab ხელით სკრიპტირების ენებზე, როგორიცაა PERL, PHP და VBScript.

ამ სახელმძღვანელოს ისაა, რომ ისწავლით, როგორც მე ვისწავლე და ნებისმიერი ინფორმაცია, რომელიც მე შემიძლია, გადაგიგზავნო.

ვიწყებთ

არსებობს აშკარად ბევრი თეორია, რომ მე ვერ გაივლის თქვენს პირდაპირ მოშორებით, როგორიცაა აღწერს სხვადასხვა ტიპის ჭურვი და უპირატესობა გამოყენების BASH მეტი KSH და CSH.

ადამიანების უმრავლესობა, როდესაც სწავლის რაღაც ახალი სურს, რომ დაიწყოთ და დაიწყოთ რამდენიმე პრაქტიკული გაკვეთილი და ამის გათვალისწინებით, მე არ ვაპირებ ტრიბიას, რომელიც არ არის მნიშვნელოვანი.

ამისათვის საჭიროა შემდეგი სახელმძღვანელო არის ტექსტური რედაქტორი და ტერმინალის გაშვება BASH (default shell უმეტეს Linux დისტრიბუციით).

ტექსტური რედაქტორები

სხვა გიდები, რომლებზეც წავიკითხე, ვარაუდობენ, რომ თქვენ გჭირდებათ ტექსტური რედაქტორი, რომელიც მოიცავს ბრძანებების ფერთა კოდირებას და რეკომენდებული რედაქტორები არიან VIM ან EMACS .

ფერთა კოდირება სასიამოვნოა, რადგან ის აკრიფოთ ბრძანებებს, მაგრამ თქვენ აბსოლუტურ დამწყებთათვის შეგიძლიათ გაატაროთ პირველი რამდენიმე კვირის განმავლობაში სწავლის VIM და EMACS კოდის ერთი ხაზი.

ორიდან მე მირჩევნია EMACS მაგრამ პატიოსნად მირჩევნია გამოიყენოს მარტივი რედაქტორი, როგორიცაა nano , gedit ან leafpad.

თუ თქვენ საკუთარ კომპიუტერში სკრიპტებს ვწერ და თქვენ იცით, რომ ყოველთვის გექნებათ ხელმისაწვდომობის გრაფიკული გარემო, მაშინ თქვენ შეგიძლიათ აირჩიოთ რედაქტორი, რომელიც საუკეთესოდ მუშაობს თქვენთვის და შეიძლება იყოს ისეთი გრაფიკული, როგორიცაა GEdit ან რედაქტორი, რომელიც პირდაპირ ტერმინალში როგორიცაა ნანო ან ვიმ.

ამ სახელმძღვანელოს მიზნებისთვის მე ვიყენებ ნანოს, რადგან იგი ენიჭება ნუმერაციას ლინუქსის დისტრიბუციის უმრავლესობაზე და, შესაბამისად, სავარაუდოა, რომ მასზე წვდომა ექნება.

გახსენით ტერმინალური ფანჯარა

თუ თქვენ იყენებთ Linux განაწილებას გრაფიკული დესკტოპის გამოყენებით, როგორიცაა Linux Mint ან Ubuntu შეგიძლიათ გახსნათ ტერმინალის ფანჯარა CTRL + ALT + T.

სად განათავსეთ თქვენი სკრიპტები

ამ სამეურვეო მიზნებისათვის შეგიძლიათ თქვენი სკრიპტები თქვენს სახლში საქაღალდეში არსებული ფოლდერში დააყენოთ.

ტერმინალის ფანჯრის ფარგლებში დარწმუნდით, რომ თქვენ ხართ თქვენს სახლში საქაღალდეში შემდეგი ბრძანების აკრეფით:

cd ~

CD ბრძანება დგას შეცვლის დირექტორიაში და tilde (~) არის თქვენი სახლის ფოლდერში მალსახმობი.

თქვენ შეგიძლიათ შეამოწმოთ, რომ სწორი ბრძანებით ხართ შემდეგი ბრძანების აკრეფით:

pwd

Pwd ბრძანება გეტყვით თქვენი ამჟამინდელი სამუშაო დირექტორია (სადაც თქვენ ხართ დირექტორიაში ხე). ჩემს შემთხვევაში დაბრუნდა / სახლში / გარი.

ახლა აშკარად არ გსურთ თქვენი სკრიპტების პირდაპირ საქაღალდეში გადატანა ისე, რომ შექმნათ ფოლდერი მოუწოდა სკრიპტები შემდეგი ბრძანების აკრეფით.

mkdir სკრიპტები

შეცვალეთ ახალი სკრიპტის საქაღალდეში შემდეგი ბრძანების აკრეფით:

CD სკრიპტები

შენი პირველი წერილი

ეს არის ჩვეულებრივი, როდესაც სწავლის როგორ პროგრამა, რათა პირველი პროგრამა უბრალოდ გამომავალი სიტყვები "Hello World".

თქვენი სკრიპტების საქაღალდეში შეიტანეთ შემდეგი ბრძანება:

ნანო helloworld.sh

ახლა შეიყვანეთ შემდეგი კოდი nano window- ში.

#! / bin / bash echo "hello world"

დააჭირეთ CTRL + O ფაილის შენახვა და CTRL + X ნანოს გასასვლელად.

სკრიპტი შედგება შემდეგნაირად:

#! / Bin / bash უნდა იყოს ჩართული ზედა ყველა სკრიპტები თქვენ წერთ, როგორც ეს საშუალებას ინტერპრეტატორები და ოპერაციული სისტემა იცის, თუ როგორ უნდა გაუმკლავდეს ფაილი. ძირითადად, მხოლოდ მახსოვს, რომ დაამატოთ და დავივიწყოთ რატომ აკეთებ ამას.

მეორე ხაზს აქვს ერთი ბრძანება, რომელსაც ეწოდება ეხო, რომელიც გამოაქვს ტექსტი, რომელიც დაუყოვნებლივ მიჰყვება მას.

გაითვალისწინეთ, რომ თუ გსურთ ერთზე მეტი სიტყვა გამოგიგზავნოთ, თქვენ უნდა გამოიყენოთ ორმაგი შეთავაზებები (") სიტყვების ირგვლივ.

ახლა შეგიძლიათ აწარმოოთ სკრიპტი შემდეგი ბრძანების აკრეფით:

sh helloworld.sh

სიტყვა "hello world" უნდა გამოჩნდეს.

კიდევ ერთი გზა სკრიპტის გაშვებაა:

./helloworld.sh

შანსი, რომ თუ თქვენ აწარმოებს ამ ბრძანებას თქვენს ტერმინალს დაუყოვნებლივ მიიღებთ ნებართვის შეცდომას.

ამ გზით სკრიპტის გასაშვებად ნებართვა მიანიჭეთ შემდეგს:

sudo chmod + x helloworld.sh

რა მოხდა სინამდვილეში? რატომ ვერ შეძლო გაქცევა sh helloworld.sh შეცვლის გარეშე, მაგრამ გაშვებული ./helloworld.sh გამოიწვია საკითხი?

პირველი მეთოდი იტვირთება bash თარჯიმანი, რომელიც იღებს helloworld.sh როგორც შეყვანის და მუშაობს, რა უნდა გააკეთოს მას. Bash თარჯიმანს უკვე აქვს ნებართვა გასაშვებად და მხოლოდ სჭირდება ბრძანებები სკრიპტში.

მეორე მეთოდი საშუალებას აძლევს ოპერაციულ სისტემას იმუშაოს, თუ რა უნდა გააკეთოს სკრიპტთან და ამიტომ მოითხოვს შესრულების საშუალებას, რათა შესრულდეს.

ზემოთ მოყვანილი სკრიპტი კარგი იყო, მაგრამ რა მოხდება, თუ გვინდა ვიკითხოთ ბრჭყალებზე?

ამის მისაღწევად სხვადასხვა გზა არსებობს. მაგალითად, ციტატა ნიშნებიდან გამომდინარე, შეგიძლიათ დააგდოთ backslash შემდეგნაირად:

echo \ "hello world \"

ეს გამოაქვს გამომავალი "hello world".

დაველოდოთ ერთი წუთით, თუმცა, თუ გსურთ \ "გამარჯობა მსოფლიოს \"

კარგად გაქცევა გაქცევის გმირები ასევე

echo \\ "\" hello world \\ "\" \ "

ეს გამოიტანს გამომავალს \ "hello world \".

ახლა ვიცი რას ფიქრობ მაგრამ მე ნამდვილად მინდა გამოვხატო \\ "\" hello world \\ "\"

გამოყენება echo ყველა ეს გაქცევის გმირები შეიძლება საკმაოდ სულელური. არსებობს ალტერნატიული ბრძანება, რომელსაც შეგიძლიათ გამოიყენოთ მოუწოდა printf.

მაგალითად:

printf '% s \ n' '\\ "\" გამარჯობა მსოფლიოში \\ "\"

გაითვალისწინეთ, რომ ტექსტი ჩვენ გვინდა ჩვენების შორის არის ერთჯერადი შეთავაზებები. Printf ბრძანება გამოაქვს ტექსტი თქვენს სკრიპტში. % S ნიშნავს, რომ ის გამოჩნდება სიმებიანი, \ n ახალი ხაზი.

შემაჯამებელი

ჩვენ ნამდვილად არ დაფარული ბევრი ადგილზე ნაწილი ერთი მაგრამ იმედია თქვენ გაქვთ თქვენი პირველი სცენარი მუშაობს.

მომდევნო ნაწილში ჩვენ შევხედავთ გაუმჯობესების შესახებ hello world script რომ ცარიელია ტექსტი სხვადასხვა ფერები, მიიღოს და გაუმკლავდეს შეყვანის პარამეტრების, ცვლადები და კომენტირებისას თქვენი კოდი.