{"id":2912,"date":"2020-12-21T14:43:33","date_gmt":"2020-12-21T11:43:33","guid":{"rendered":"https:\/\/blog.hostixo.com\/?p=2912"},"modified":"2024-02-16T11:22:24","modified_gmt":"2024-02-16T08:22:24","slug":"bash-script-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/www.hostixo.com\/blog\/bash-script-nasil-kullanilir\/","title":{"rendered":"Bash Script  Nas\u0131l Kullan\u0131l\u0131r? Bash Script \u00d6rnekleri"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0130\u00e7indekiler \u2714<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.hostixo.com\/blog\/bash-script-nasil-kullanilir\/#Bash_Script_Kullaniminin_Nedenleri\" >Bash Script Kullan\u0131m\u0131n\u0131n Nedenleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.hostixo.com\/blog\/bash-script-nasil-kullanilir\/#Bash_Scriptine_Giris\" >Bash Script\u2019ine Giri\u015f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.hostixo.com\/blog\/bash-script-nasil-kullanilir\/#Bash_Script_Ornekleri\" >Bash Script \u00d6rnekleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.hostixo.com\/blog\/bash-script-nasil-kullanilir\/#Sonuc\" >Sonu\u00e7<\/a><\/li><\/ul><\/nav><\/div>\n<p>Unix i\u015fletim sisteminde bulunan bash script, en pop\u00fcler programlama ara\u00e7lar\u0131ndan bir tanesidir. A\u00e7\u0131l\u0131m\u0131 Bourne Again Shell b\u00fct\u00fcn Linux kullan\u0131c\u0131lar\u0131 ya da Sistem Y\u00f6neticileri i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<p>Unix\u2019in iki tane b\u00fcy\u00fck kabuk kategorisi bulunmaktad\u0131r:<\/p>\n<ul>\n<li>Bourne kabu\u011fu<\/li>\n<li>C kabu\u011fu<\/li>\n<\/ul>\n<p><strong>Bourne kabu\u011funa\u00a0<\/strong>dahil olan kabuklar ise a\u015fa\u011f\u0131daki gibidir:<\/p>\n<ul>\n<li>Korn kabu\u011fu (ksh)<\/li>\n<li>Bourne kabu\u011fu (sh)<\/li>\n<li>POSIX kabu\u011fu (sh)<\/li>\n<li>Bourne Again kabu\u011fu (bash)<\/li>\n<\/ul>\n<p><strong>C kabu\u011funa\u00a0<\/strong>dahil olan kabuklar ise a\u015fa\u011f\u0131daki gibidir:<\/p>\n<ul>\n<li>C shell (csh)<\/li>\n<li>TENEX (TOPS) C shell (tcsh)<\/li>\n<\/ul>\n<p>Bash script geli\u015ftirmek i\u00e7in son derece g\u00fc\u00e7l\u00fc ve kullan\u0131\u015fl\u0131 bir par\u00e7ad\u0131r. Tekrarlanan g\u00f6revleri tek sat\u0131rl\u0131k i\u015flev \u00e7a\u011fr\u0131s\u0131na s\u0131\u011fd\u0131rmay\u0131 ba\u015farmaktad\u0131r. Bu sayede \u00e7ok say\u0131da uzun komutlar\u0131n bir tek \u00e7al\u0131\u015ft\u0131rabilir komuta indirgemektedir.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-3013 size-full lazyload\" data-src=\"https:\/\/www.hostixo.com\/blog\/wp-content\/uploads\/2020\/12\/executing-bash-script-on-multiple-remote-server.jpg\" alt=\"Bash Script Nas\u0131l Kullan\u0131l\u0131r? Bash Script \u00d6rnekleri\" width=\"1280\" height=\"720\" title=\"\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1280px; --smush-placeholder-aspect-ratio: 1280\/720;\"><noscript><img decoding=\"async\" class=\"alignnone wp-image-3013 size-full\" src=\"https:\/\/www.hostixo.com\/blog\/wp-content\/uploads\/2020\/12\/executing-bash-script-on-multiple-remote-server.jpg\" alt=\"Bash Script Nas\u0131l Kullan\u0131l\u0131r? Bash Script \u00d6rnekleri\" width=\"1280\" height=\"720\" title=\"\"><\/noscript><\/p>\n<p>B\u00fct\u00fcn Linux da\u011f\u0131t\u0131mlar\u0131nda bulunan bash script ayr\u0131ca bir kurulum gerektirmez. A\u015fa\u011f\u0131da belirtti\u011fimiz komutlar ile mevcut kabuklar\u0131 kontrol etmeniz m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">cat \/etc\/shells<\/pre>\n<p>&nbsp;<\/p>\n<p>Sonucu a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"minimal\">\/bin\/bash \r\n\/bin\/sh \r\n\/bin\/tcsh \r\n\/bin\/csh<\/pre>\n<p>&nbsp;<\/p>\n<div class=\"faq light-orange-box text-light-black\">\n<p>&nbsp;<\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Bash_Script_Kullaniminin_Nedenleri\"><\/span><span id=\"Neden-Bash-Script-Kullanmalisiniz\">Bash Script Kullan\u0131m\u0131n\u0131n Nedenleri<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bash script ile:<\/p>\n<ul>\n<li>Tekrarlanan g\u00f6revleri ortadan kald\u0131rman\u0131z m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<li>Zaman kazanman\u0131z\u0131 sa\u011flamaktad\u0131r.<\/li>\n<li>\u0130yi yap\u0131l\u0131, mod\u00fcler ve formatl\u0131 etkinlik s\u0131ras\u0131 elde etmenizi sa\u011flamaktad\u0131r.<\/li>\n<li>Kar\u0131\u015f\u0131k komutlar ile u\u011fra\u015fmaktansa bu komutlar\u0131 tek bir komuta indirgemeniz m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<li>Bash script bir kez olu\u015fturulduktan sonra herkes istedi\u011fi kadar \u00e7al\u0131\u015ft\u0131rabilir.<\/li>\n<li>Bash scriptler kullan\u0131larak mant\u0131ksal ak\u0131\u015flar kurulabilir.<\/li>\n<li>Bash fonksiyonlar\u0131n\u0131n <a href=\"https:\/\/www.hostixo.com\/sunucu\/sanal-sunucu\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"vps sat\u0131n al\">sunucu<\/a> olarak ba\u015flat\u0131ld\u0131\u011f\u0131nda ya da zamanlanm\u0131\u015f bir g\u00f6rev eklenerek \u00e7al\u0131\u015ft\u0131r\u0131lmaktad\u0131r.<\/li>\n<li>Komutlarda hata ay\u0131klamas\u0131 yap\u0131lmaktad\u0131r.<\/li>\n<li>\u0130nteraktif kabuk komutlar\u0131na da sahip olmak m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<\/ul>\n<p>\u0130\u015f ak\u0131\u015f\u0131n\u0131z\u0131 kolayla\u015ft\u0131rmak ve projenizi geli\u015ftirmek i\u00e7in Bash script son derece m\u00fckemmel bir ara\u00e7t\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Bash_Scriptine_Giris\"><\/span><span id=\"Bash-Script8217ine-Giris\">Bash Script\u2019ine Giri\u015f<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0130lk olarak\u00a0 VPS sunucunuza veya i\u015fletim sisteminize konsol (SSH) ile giri\u015f yapman\u0131z gerekmektedir.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">man bash<\/pre>\n<p>&nbsp;<\/p>\n<p>\u015eimdi s\u0131rada bir <strong>.sh\u00a0<\/strong>dosyas\u0131 olu\u015fturma i\u015flemi vard\u0131r. Bunun i\u00e7in ise <strong>VIM Editor<\/strong>\u2018\u00fc kullanmal\u0131s\u0131n\u0131z. Bir dosya olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131da belirtilen komutu uygulay\u0131n.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">vim ornekFonksiyon.sh<\/pre>\n<p>&nbsp;<\/p>\n<p>S\u0131rada\u00a0 ise olu\u015fturmu\u015f oldu\u011funuz <strong>.sh\u00a0<\/strong>dosyas\u0131na y\u00f6nlendirilerek dosyay\u0131 d\u00fczenlemeniz m\u00fcmk\u00fcn olacakt\u0131r.<\/p>\n<p>Bu yaz\u0131 size Bash komutlar\u0131na ve kullan\u0131mlar\u0131 ile ilgili kapsaml\u0131 bir sonu\u00e7 sunacakt\u0131r. Bash scriptlerin t\u00fcm\u00fc a\u015fa\u011f\u0131da belirtilen sat\u0131r ile ba\u015flamal\u0131d\u0131r:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"minimal\">#!\/bin\/bash<\/pre>\n<p>&nbsp;<\/p>\n<p>A\u015fa\u011f\u0131da belirtilen komut bash script\u2019inin konumunun g\u00f6r\u00fcnt\u00fclenmesini sa\u011flayacakt\u0131r.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">which bash<\/pre>\n<p>&nbsp;<\/p>\n<p>Bu komutun sonucu a\u015fa\u011f\u0131daki gibi olacakt\u0131r.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">\/bin\/bash<\/pre>\n<p>&nbsp;<\/p>\n<p>En s\u0131k rastlanan bash s\u00f6z dizimi ise \u015fu \u015fekildedir:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">fonksiyon \r\nfonksiyonAdi { \r\nilk komut ikinci komut \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Bu yaz\u0131 ayr\u0131ca \u015fu \u015fekilde de kar\u015f\u0131n\u0131za \u00e7\u0131kabilir:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">fonksiyonAdi (){ \r\nilk komut \r\nikinci komut \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>Tek bir sat\u0131rda ise \u015fu \u015fekilde olacakt\u0131r:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">fonksiyonAdi() { ilk komut; ikinci komut; } \r\ncaca<\/pre>\n<p>&nbsp;<\/p>\n<p>Bu t\u00fcrden olan bir fonksiyonun \u00f6rne\u011fi ise a\u015fa\u011f\u0131da belirtildi\u011fi gibidir. Bu komutta ilk olarak bir dizin olu\u015fturulur ard\u0131ndan ise konum yeni dizin ile de\u011fi\u015ftirilir:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"minimal\">ornekFonksiyon () { \r\nmkdir -p $1 \r\ncd $1 \r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>$1<\/strong> olan komut sat\u0131r\u0131 ba\u011f\u0131ms\u0131z giri\u015f de\u011fi\u015fkenlerinin yerine kullan\u0131l\u0131r. Bash komut i\u00e7inde dinamik giri\u015fler olu\u015fturabilir. Bu fonksiyonu do\u011frulamak i\u00e7in \u00e7al\u0131\u015ft\u0131rman\u0131z gereken komut ise a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre>ornekFonksiyon Dizin<\/pre>\n<p>Burada olu\u015fturulacak olan Dizin ge\u00e7erli bir dizin ad\u0131d\u0131r. \u015euan da \u00e7al\u0131\u015fan dizini <strong>pwd\u00a0<\/strong>komutu ile kontrol ederseniz e\u011fer yeni olu\u015fturulan <strong>Dizin\u00a0<\/strong>adl\u0131 dizinde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6receksiniz.<\/p>\n<p>VIM Editor ile <strong>.sh\u00a0<\/strong>dosyan\u0131z\u0131n d\u00fczenlemesinin bitti\u011fi zaman <strong>ESC\u00a0<\/strong>tu\u015funa basarak komut moduna girebilir ve\u00a0<strong>:wq\u00a0<\/strong>yazarak kaydederek \u00e7\u0131kabilirsiniz.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Bash_Script_Ornekleri\"><\/span><span id=\"Bash-Script-Ornekleri\">Bash Script \u00d6rnekleri<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bash fonksiyonu ile verilebilecen en temel a\u015fa\u011f\u0131da belirtti\u011fimiz gibidir:<\/p>\n<pre>#!\/bin\/bash\r\ntestfunction(){\r\n\u00a0\u00a0\u00a0echo \"Ilk fonksiyonum\"\r\n}\r\ntestfunction<\/pre>\n<p>E\u011fer bu scripti\u00a0<strong>testFunction.sh\u00a0<\/strong>olarak kaydederseniz daha sonra da\u00a0 <strong>.\/testFunction.sh\u00a0<\/strong>olarak \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z sonucu a\u015fa\u011f\u0131daki gibi g\u00f6rebilirsiniz:<\/p>\n<pre>Ilk fonksiyonum<\/pre>\n<p>Echo sonucu konsolda g\u00f6stermektedir. E\u011fer fonksiyon tan\u0131m\u0131n\u0131n yerini bir \u00e7a\u011fr\u0131 ile de\u011fi\u015ftirirseniz hata meydana gelecektir. A\u015fa\u011f\u0131daki script size hata verecektir:<\/p>\n<pre>#!\/bin\/bash\r\ntestfunction\r\ntestfunction(){\r\n\u00a0\u00a0\u00a0echo \"My Ilk fonksiyonum\"\r\n}<\/pre>\n<p>Bundan dolay\u0131 ilk olarak fonksiyonu tan\u0131mlaman\u0131z daha sonra ise \u00e7al\u0131\u015ft\u0131rman\u0131z gerekmektedir.<\/p>\n<p>Bash fonksiyonu istenilen say\u0131da parametre kabul etmektedir. A\u015fa\u011f\u0131da belirtti\u011fimiz \u00f6rnek iki parametreyi kabul edecektir:<\/p>\n<pre>#!\/bin\/bash\r\ntestfunction(){\r\n\u00a0\u00a0\u00a0echo $1\r\n\u00a0\u00a0\u00a0echo $2\r\n}<\/pre>\n<pre>testfunction \"Merhaba\" \"D\u00fcnya\"<\/pre>\n<p>A\u015fa\u011f\u0131da belirtilen interaktif giri\u015fi kullanarak bash fonksiyonlar\u0131n\u0131 ger\u00e7ekle\u015ftirebilirsiniz. Buna bir \u00f6rnek verecek olursak e\u011fer a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre>#!\/bin\/bash\r\naddition(){\r\n\u00a0\u00a0\u00a0sum=$(($1+$2))\r\n\u00a0\u00a0\u00a0return $sum\r\n}\r\nread -p \"Bir rakam girin: \" int1\r\nread -p \"Bir rakam girin: \" int2\r\nadd $int1 $int2\r\necho \"Sonuc : \" $?<\/pre>\n<p>Yukar\u0131da g\u00f6sterdi\u011fimiz \u00f6rnekte yer alan toplama de\u011feri de\u011fi\u015fken bir sonuca atanm\u0131\u015ft\u0131r ve bu fonksiyondan d\u00f6necektir. Interaktif giri\u015f ise iki rakam i\u00e7in de <strong>read\u00a0<\/strong>kelimesini kullanarak elde edilmektedir. Sonu\u00e7 <strong>$?\u00a0<\/strong>kullan\u0131larak verilir.\u00a0<strong>$?<\/strong>, fonksiyondan d\u00f6n\u00fc\u015f de\u011ferini $sum depolar.<\/p>\n<p>Bash fonksiyonlar\u0131 her zaman tek bir de\u011fer verir.<\/p>\n<p>Dosya i\u00e7inde\u00a0<strong># \u00a0<\/strong>sembol\u00fcn\u00fc kullan\u0131p not b\u0131rakman\u0131z m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Bash scriptleri a\u015fa\u011f\u0131da belirtilenleri desteklemektedir:<\/p>\n<ul>\n<li>While d\u00f6ng\u00fcs\u00fc<\/li>\n<li>For d\u00f6ng\u00fcs\u00fc<\/li>\n<li>If ifadesi<\/li>\n<li>Ve mant\u0131\u011f\u0131<\/li>\n<li>Veya mant\u0131\u011f\u0131<\/li>\n<li>Else If ifadesi<\/li>\n<li>Case ifadesi<\/li>\n<\/ul>\n<p>A\u015fa\u011f\u0131daki While d\u00f6ng\u00fcs\u00fcne ait k\u0131sa bir \u00f6rnek verece\u011fiz:<\/p>\n<pre>#!\/bin\/bash\r\nisvalid=true\r\ncount=1\r\nwhile [ $isvalid ]\r\ndo\r\necho $count\r\nif [ $count -eq 6 ];\r\nthen\r\nbreak\r\nfi\r\n((count++))\r\ndone<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcm\u00fcz \u00f6rnek while ve if ifadelerini kullanmaktad\u0131r. Bu \u00f6rnekte yer alan if ko\u015ful ifadesi kontrol edilip \u00e7\u0131k\u0131\u015f yap\u0131lmadan \u00f6nce loop d\u00f6ng\u00fcs\u00fcn\u00fc 6 defa \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<p>Sonu\u00e7 b\u00f6yle olacakt\u0131r:<\/p>\n<pre>1\r\n2\r\n3\r\n4\r\n5\r\n6<\/pre>\n<p>For d\u00f6ng\u00fcs\u00fc saya\u00e7lar\u0131 art\u0131rmak ve azaltmak i\u00e7in kullan\u0131lmaktad\u0131r. Bu t\u00fcrden bir for d\u00f6ng\u00fcs\u00fcne bir \u00f6rnek verecek olursak e\u011fer a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre>#!\/bin\/bash\r\nfor (( count=10; count&gt;0; count-- ))\r\ndo\r\necho -n \"$count \"\r\ndone<\/pre>\n<p>Bu for d\u00f6ng\u00fcs\u00fcn\u00fcn sonucu ise a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre>10 9 8 7 6 5 4 3 2 1<\/pre>\n<p>Bash\u2019de\u00a0<strong>&amp;&amp;<\/strong> i\u015fareti mant\u0131ksal VE\u2019yi temsil ederken <strong>|| <\/strong>i\u015fareti ise mant\u0131ksal VEYA\u2019y\u0131 temsil etmektedir.<\/p>\n<p><strong>If\u00a0<\/strong>ifadeleriyle ayr\u0131ca\u00a0<strong>Else if<\/strong>\u2018i tan\u0131mlaman\u0131z m\u00fcmk\u00fcnd\u00fcr. Buna bir \u00f6rnek verecek olursak e\u011fer a\u015fa\u011f\u0131daki gibi olacakt\u0131r:<\/p>\n<pre>#!\/bin\/bash\r\necho \"Gecerli bir rakam girin\"\r\nread n\r\nif [ $n -eq 101 ];\r\nthen\r\necho \"Bu ilk rakam\"\r\nelif [ $n -eq 510 ];\r\nthen\r\necho \" Bu ikinci rakam \"\r\nelif [ $n -eq 999 ];\r\nthen\r\necho \" Bu ucuncu rakam \"\r\nelse\r\necho \"Burada rakam yok\"\r\nfi<\/pre>\n<p>A\u015fa\u011f\u0131daki \u00f6rnek ayr\u0131ca case ifadesi ile a\u015fa\u011f\u0131da belirtildi\u011fi gibi yaz\u0131lmaktad\u0131r:<\/p>\n<pre>#!\/bin\/bash\r\necho \" Enter a valid number\"\r\nread n\r\ncase $n in\r\n101)\r\nEcho \" This is the first number \" ;;\r\n510)\r\necho \" This is the second number \" ;;\r\n999)\r\necho \" This is the third number \" ;;\r\n*)\r\necho \" No numbers over here \" ;;\r\nesac<\/pre>\n<p>Case ifadelerinde\u00a0<strong>;; <\/strong>i\u015fareti case aralar\u0131n\u0131 temsil etmektedir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Sonuc\"><\/span>Sonu\u00e7<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Bash ger\u00e7ekten g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r fakat \u00f6\u011frenimi basittir. Umar\u0131z sizler i\u00e7in olu\u015fturdu\u011fumuz bu yaz\u0131 i\u015finize yarayacakt\u0131r.<\/p>\n<p>Bash Script Nas\u0131l Kullan\u0131l\u0131r? Bash Script \u00d6rnekleri ba\u015fl\u0131kl\u0131 yaz\u0131m\u0131z ile ilgili akl\u0131n\u0131za tak\u0131lan sorular\u0131n\u0131z\u0131n yan\u0131t\u0131n\u0131 alabilmeniz i\u00e7in veya \u00f6neride bulunabilmeniz i\u00e7in a\u015fa\u011f\u0131da yer alan yorumlar k\u0131sm\u0131n\u0131 kullanarak bizimle ileti\u015fime ge\u00e7ebilirsiniz.<\/p>\n<p>Dilerseniz daha \u00f6nce blo\u011fumuzda payla\u015ft\u0131\u011f\u0131m\u0131z OpenVPN Kullanarak Linux Sanal Sunucu Kurulumu\u00a0ba\u015fl\u0131kl\u0131 yaz\u0131m\u0131z\u0131 da okuyabilirsiniz.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\/\", \n  \"@type\": \"Product\", \n  \"name\": \"Hostixo Blog\",\n  \"image\": \"https:\/\/www.hostixo.com\/blog\/\",\n  \"description\": \"Hostixo Blog\",\n  \"brand\": \"HostixoBlog1\",\n  \"sku\": \"HostixoBlog1\",\n  \"gtin8\": \"HostixoBlog1\",\n  \"gtin13\": \"HostixoBlog1\",\n  \"gtin14\": \"HostixoBlog1\",\n  \"mpn\": \"HostixoBlog1\",\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"url\": \"https:\/\/www.hostixo.com\/blog\/\",\n    \"priceCurrency\": \"TRY\",\n    \"price\": \"0.99\",\n    \"priceValidUntil\": \"2020-06-09\",\n    \"availability\": \"https:\/\/schema.org\/InStock\",\n    \"itemCondition\": \"https:\/\/schema.org\/NewCondition\"\n  },\n  \"aggregateRating\": {\n    \"@type\": \"AggregateRating\",\n   \"ratingValue\": \"5\",\n    \"bestRating\": \"5\",\n    \"worstRating\": \"4\",\n    \"ratingCount\": \"1456\",\n    \"reviewCount\": \"1446\"\n  },\n  \"review\": {\n    \"@type\": \"Review\",\n    \"name\": \"HostixoBlog1\",\n    \"reviewBody\": \"Hostixo Blog\",\n    \"reviewRating\": {\n      \"@type\": \"Rating\",\n   \"ratingValue\": \"5\",\n      \"bestRating\": \"5\",\n      \"worstRating\": \"4\"\n    },\n    \"datePublished\": \"2020-06-09\",\n    \"author\": {\"@type\": \"Person\", \"name\": \"Hostixo\"},\n    \"publisher\": {\"@type\": \"Organization\", \"name\": \"HostixoBlog1\"}\n  }\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unix i\u015fletim sisteminde bulunan bash script, en pop\u00fcler programlama ara\u00e7lar\u0131ndan bir tanesidir. A\u00e7\u0131l\u0131m\u0131 Bourne Again Shell b\u00fct\u00fcn Linux kullan\u0131c\u0131lar\u0131 ya da Sistem Y\u00f6neticileri i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Unix\u2019in iki tane b\u00fcy\u00fck kabuk kategorisi bulunmaktad\u0131r: Bourne kabu\u011fu C kabu\u011fu Bourne kabu\u011funa\u00a0dahil olan kabuklar ise a\u015fa\u011f\u0131daki gibidir: Korn kabu\u011fu (ksh) Bourne kabu\u011fu (sh) POSIX kabu\u011fu (sh) Bourne &hellip;<\/p>\n","protected":false},"author":1,"featured_media":3015,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mbp_gutenberg_autopost":false,"footnotes":""},"categories":[29],"tags":[],"class_list":["post-2912","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/posts\/2912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/comments?post=2912"}],"version-history":[{"count":1,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/posts\/2912\/revisions"}],"predecessor-version":[{"id":9103,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/posts\/2912\/revisions\/9103"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/media\/3015"}],"wp:attachment":[{"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/media?parent=2912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/categories?post=2912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostixo.com\/blog\/wp-json\/wp\/v2\/tags?post=2912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}