{"id":1975,"date":"2022-10-22T02:25:08","date_gmt":"2022-10-22T02:25:08","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=1975"},"modified":"2022-10-19T21:29:21","modified_gmt":"2022-10-19T21:29:21","slug":"linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/","title":{"rendered":"Linux Shell Komut Dosyas\u0131nda i\u015flevler nas\u0131l tan\u0131mlan\u0131r ve kullan\u0131l\u0131r"},"content":{"rendered":"<p>\u0130\u015flev, yeniden kullan\u0131labilir bir kod blo\u011fudur.\u00a0Genellikle bir fonksiyona tekrarlanan kodlar koyar\u0131z ve bu fonksiyonu \u00e7e\u015fitli yerlerden \u00e7a\u011f\u0131r\u0131r\u0131z.\u00a0Kitapl\u0131k, bir i\u015flevler toplulu\u011fudur.\u00a0Bir kitapl\u0131kta yayg\u0131n olarak kullan\u0131lan i\u015flevi tan\u0131mlayabiliriz ve di\u011fer komut dosyalar\u0131 bunlar\u0131 kodu \u00e7o\u011faltmadan kullanabilir.<\/p>\n<p>Bu yaz\u0131da fonksiyonlar ve tarifler hakk\u0131nda daha fazla tart\u0131\u015faca\u011f\u0131z.\u00a0G\u00f6steri amac\u0131yla\u00a0Ubuntu makinesinde\u00a0<strong>Bourne Again SHell (Bash) kullanaca\u011f\u0131m.<\/strong><\/p>\n<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\">Makale \u0130\u00e7eri\u011fi<\/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-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#arama_fonksiyonu\" >arama fonksiyonu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#fonksiyon_tanimlama\" >fonksiyon tan\u0131mlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#Islevler_hakkinda_daha_fazla_bilgi\" >\u0130\u015flevler hakk\u0131nda daha fazla bilgi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#Fonksiyon_tarifleri\" >Fonksiyon tarifleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#Kitaplik_olusturma\" >Kitapl\u0131k olu\u015fturma<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/linux-shell-komut-dosyasinda-islevler-nasil-tanimlanir-ve-kullanilir\/#Cozum\" >\u00c7\u00f6z\u00fcm<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"arama_fonksiyonu\"><\/span>arama fonksiyonu<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Shell&#8217;de \u00e7a\u011f\u0131rma i\u015flevi, ba\u015fka bir komutu \u00e7a\u011f\u0131rmakla tamamen ayn\u0131d\u0131r.\u00a0\u00d6rne\u011fin, i\u015flev ad\u0131n\u0131z my_func ise, a\u015fa\u011f\u0131daki gibi y\u00fcr\u00fct\u00fclebilir:<\/p>\n<pre>$ my_func\r\n\r\n<\/pre>\n<p>Herhangi bir i\u015flev arg\u00fcmanlar\u0131 kabul ederse, bunlar komut sat\u0131r\u0131ndan a\u015fa\u011f\u0131daki gibi sa\u011flanabilir:<\/p>\n<pre>$ my_func arg1 arg2 arg3\r\n\r\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"fonksiyon_tanimlama\"><\/span>fonksiyon tan\u0131mlama<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Fonksiyonu tan\u0131mlamak i\u00e7in a\u015fa\u011f\u0131daki s\u00f6zdizimini kullanabiliriz:<\/p>\n<pre>\u00a0function function_name {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Body of function\r\n\u00a0}<\/pre>\n<p>\u0130\u015flev g\u00f6vdesi, herhangi bir ge\u00e7erli komut, d\u00f6ng\u00fc k\u0131s\u0131tlamas\u0131, ba\u015fka i\u015flev veya komut dosyas\u0131 i\u00e7erebilir.\u00a0\u015eimdi ekranda mesaj\u0131 g\u00f6r\u00fcnt\u00fcleyen basit bir fonksiyon olu\u015ftural\u0131m.<\/p>\n<pre>\u00a0function print_msg {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Hello, World\"\r\n\u00a0}<\/pre>\n<p>\u015eimdi bu fonksiyonu \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre>\u00a0$ print_msg \r\n\u00a0Merhaba, D\u00fcnya<\/pre>\n<p>Beklendi\u011fi gibi, bu i\u015flev ekranda mesaj\u0131 g\u00f6r\u00fcnt\u00fcler.<\/p>\n<p>Yukar\u0131daki \u00f6rnekte do\u011frudan terminal \u00fczerinde fonksiyon yaratt\u0131k.\u00a0Bu i\u015flevi dosyada da saklayabiliriz.\u00a0A\u015fa\u011f\u0131daki \u00f6rnek bunu g\u00f6stermektedir.<\/p>\n<pre>\u00a0#! \/bin\/bash \r\n\u00a0i\u015flevi print_msg { \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Merhaba, D\u00fcnya\" \r\n\u00a0} \r\n\u00a0print_msg<\/pre>\n<p>Bu fonksiyonu\u00a0<strong>function.sh<\/strong>\u00a0dosyas\u0131 i\u00e7erisinde tan\u0131mlad\u0131k.\u00a0\u015eimdi bu beti\u011fi \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre>\u00a0$ chmod +x function.sh \r\n\u00a0$ .\/function.sh \r\n\u00a0Merhaba, D\u00fcnya<\/pre>\n<p>G\u00f6zlemlerseniz, yukar\u0131daki \u00e7\u0131kt\u0131 \u00f6ncekiyle tamamen ayn\u0131d\u0131r.<\/p>\n<p>&nbsp;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Islevler_hakkinda_daha_fazla_bilgi\"><\/span>\u0130\u015flevler hakk\u0131nda daha fazla bilgi<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Bir \u00f6nceki b\u00f6l\u00fcmde \u00e7ok temel bir fonksiyonu tan\u0131mlam\u0131\u015ft\u0131k.\u00a0Ancak yaz\u0131l\u0131m geli\u015ftirme s\u0131ras\u0131nda \u00e7e\u015fitli parametreleri kabul edebilen ve de\u011ferleri d\u00f6nd\u00fcrebilen daha geli\u015fmi\u015f fonksiyonlara ihtiyac\u0131m\u0131z var.\u00a0Bu b\u00f6l\u00fcmde bu t\u00fcr i\u015flevleri tart\u0131\u015faca\u011f\u0131z.<\/p>\n<p><strong>\u0130\u015fleve arg\u00fcmanlar\u0131 iletmek<\/strong><\/p>\n<p>Di\u011fer komutlarla ayn\u0131 i\u015flevi g\u00f6recek arg\u00fcmanlar sa\u011flayabiliriz.\u00a0Bu arg\u00fcmanlara fonksiyondan dolar($) sembol\u00fcn\u00fc kullanarak ula\u015fabiliriz.\u00a0\u00d6rne\u011fin, $1 ilk arg\u00fcman\u0131 temsil eder, $2 ikinci arg\u00fcman\u0131 temsil eder vb.<\/p>\n<p>Mesaj\u0131 bir arg\u00fcman olarak kabul etmek i\u00e7in yukar\u0131daki i\u015flevi de\u011fi\u015ftirelim.\u00a0De\u011fi\u015ftirilmi\u015f fonksiyonumuz \u015f\u00f6yle g\u00f6r\u00fcnecek:<\/p>\n<pre>\u00a0function print_msg { \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Merhaba $1\" \r\n\u00a0}<\/pre>\n<p>Yukar\u0131daki fonksiyonda, $1 kullanarak ilk arg\u00fcmana eri\u015fiyoruz.\u00a0Bu fonksiyonu \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre> $ print_msg \"<a href=\"https:\/\/sunucucozumleri.com\/blog\/frontpage\/\">Sunucu<\/a> Cozumleri\"<\/pre>\n<p>Bu i\u015flevi \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 \u00fcretecektir:<\/p>\n<pre> Merhaba Sunucu \u00c7\u00f6z\u00fcmleri\r\n\r\n<\/pre>\n<p><strong>fonksiyondan de\u011fer d\u00f6nd\u00fcrme<\/strong><\/p>\n<p>Di\u011fer programlama dilleri gibi Bash, arayana de\u011fer d\u00f6nd\u00fcrebilece\u011fimizi kullanarak d\u00f6n\u00fc\u015f ifadesi sa\u011flar.\u00a0Bunu bir \u00f6rnekle anlayal\u0131m:<\/p>\n<pre>function func_return_value {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return 10\r\n\u00a0}<\/pre>\n<p>Yukar\u0131daki i\u015flev, arayan\u0131na 10 de\u011ferini d\u00f6nd\u00fcr\u00fcr.\u00a0Bu fonksiyonu \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre>\u00a0$ func_return_value \r\n\u00a0$ echo \"\u0130\u015flev taraf\u0131ndan d\u00f6nd\u00fcr\u00fclen de\u011fer: $?\"<\/pre>\n<p>Yukar\u0131daki i\u015flevi \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 \u00fcretecektir:<\/p>\n<pre>\u00a0\u0130\u015flev taraf\u0131ndan d\u00f6nd\u00fcr\u00fclen de\u011fer: 10\r\n\r\n<\/pre>\n<p><strong>NOT:<\/strong>\u00a0Bash&#8217;da $?\u00a0fonksiyonun d\u00f6n\u00fc\u015f de\u011ferini yakalamak i\u00e7in<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Fonksiyon_tarifleri\"><\/span>Fonksiyon tarifleri<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u015eimdiye kadar bash i\u015flevleri hakk\u0131nda adil bir fikir edindik.\u00a0\u015eimdi hayat\u0131m\u0131z\u0131 kolayla\u015ft\u0131rmak i\u00e7in kullan\u0131labilecek baz\u0131 yararl\u0131 bash i\u015flevleri olu\u015ftural\u0131m.<\/p>\n<p><strong>A\u011fa\u00e7 kesicisi<\/strong><\/p>\n<p>Log mesaj\u0131 ile birlikte tarih ve saati yazd\u0131racak bir kay\u0131t fonksiyonu olu\u015ftural\u0131m.<\/p>\n<pre>\u00a0function log_msg { \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"[`date '+ %F %T'` ]: $@ \" \r\n\u00a0}<\/pre>\n<p>Bu fonksiyonu \u00e7al\u0131\u015ft\u0131ral\u0131m:<\/p>\n<pre>\u00a0$ log_msg \"Bu \u00f6rnek g\u00fcnl\u00fck mesaj\u0131d\u0131r\"<\/pre>\n<p>Bu i\u015flevi \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 \u00fcretecektir:<\/p>\n<pre>\u00a0[ 2018-08-16 19:56:34 ]: Bu \u00f6rnek g\u00fcnl\u00fck mesaj\u0131d\u0131r<\/pre>\n<p><strong>Sistem bilgilerini g\u00f6r\u00fcnt\u00fcle<\/strong><\/p>\n<p>GNU\/Linux sistemi hakk\u0131ndaki bilgileri g\u00f6r\u00fcnt\u00fclemek i\u00e7in bir fonksiyon olu\u015ftural\u0131m.<\/p>\n<p>&nbsp;<\/p>\n<pre>\u00a0function system_info {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"### OS information ###\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 lsb_release -a\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"### Processor information ###\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 processor=`grep -wc \"processor\" \/proc\/cpuinfo`\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 model=`grep -w \"model name\" \/proc\/cpuinfo\u00a0 | awk -F: '{print $2}'`\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Processor = $processor\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Model\u00a0\u00a0\u00a0\u00a0 = $model\"\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"### Memory information ###\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 total=`grep -w \"MemTotal\" \/proc\/meminfo | awk '{print $2}'`\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 free=`grep -w \"MemFree\" \/proc\/meminfo | awk '{print $2}'`\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Total memory: $total kB\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Free memory : $free kB\"\r\n\u00a0}<\/pre>\n<p>Yukar\u0131daki i\u015flevi \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 \u00fcretecektir:<\/p>\n<pre>### OS information ###\r\nNo LSB modules are available.\r\nDistributor ID:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Ubuntu\r\nDescription:\u00a0\u00a0 Ubuntu 18.04.1 LTS\r\nRelease:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 18.04\r\nCodename:\u00a0\u00a0\u00a0 bionic\r\n\r\n### Processor information ###\r\nProcessor = 1\r\nModel\u00a0\u00a0\u00a0\u00a0 =\u00a0 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz\r\n\r\n### Memory information ###\r\nTotal memory: 4015648 kB\r\nFree memory : 2915428 kB\r\n\r\n\r\n<\/pre>\n<p>Ge\u00e7erli dizinden dosya veya dizin bulun<\/p>\n<p>A\u015fa\u011f\u0131daki i\u015flev, ge\u00e7erli dizinden dosya veya dizini arar:<\/p>\n<pre>\u00a0function search {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 find . -name $1\r\n\u00a0}<\/pre>\n<p>A\u015fa\u011f\u0131daki komutu kullanarak dizini yani dir4&#8217;\u00fc arayal\u0131m:<\/p>\n<pre> $ search dir4<\/pre>\n<p>Yukar\u0131daki komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, a\u015fa\u011f\u0131daki \u00e7\u0131kt\u0131y\u0131 \u00fcretecektir:<\/p>\n<pre>\u00a0.\/dir1\/dir2\/dir3\/dir4<\/pre>\n<p><strong>Dijital saat<\/strong><\/p>\n<p>A\u015fa\u011f\u0131daki fonksiyon, terminalde basit bir dijital saat olu\u015fturur<\/p>\n<pre>\u00a0function digital_clock {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 clear\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 while [ 1 ]\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 do\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 date +'%T'\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sleep 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 clear\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 done\r\n\u00a0}<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Kitaplik_olusturma\"><\/span>Kitapl\u0131k olu\u015fturma<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Kitapl\u0131k, bir i\u015flevler toplulu\u011fudur.\u00a0Kitapl\u0131k olu\u015fturmak i\u00e7in \u2013 bir dosyadaki i\u015flevleri tan\u0131mlay\u0131n ve o dosyay\u0131 mevcut ortama aktar\u0131n.<\/p>\n<p>T\u00fcm i\u015flevleri utils.sh dosyas\u0131nda tan\u0131mlad\u0131\u011f\u0131m\u0131z\u0131 varsayal\u0131m, ard\u0131ndan mevcut ortamdaki i\u015flevleri i\u00e7e aktarmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre>$ source utils.sh<\/pre>\n<p>Bundan sonra, herhangi bir bash komutu gibi, k\u00fct\u00fcphaneden herhangi bir i\u015flevi \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h5><span class=\"ez-toc-section\" id=\"Cozum\"><\/span>\u00c7\u00f6z\u00fcm<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Bu yaz\u0131da verimlili\u011finizi art\u0131racak birka\u00e7 faydal\u0131 tarifi ele ald\u0131k.\u00a0Umar\u0131m bu makaleler size kendi tariflerinizi yaratman\u0131z i\u00e7in ilham verir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0130\u015flev, yeniden kullan\u0131labilir bir kod blo\u011fudur.\u00a0Genellikle bir fonksiyona tekrarlanan kodlar koyar\u0131z ve bu fonksiyonu \u00e7e\u015fitli yerlerden \u00e7a\u011f\u0131r\u0131r\u0131z.\u00a0Kitapl\u0131k, bir i\u015flevler toplulu\u011fudur.\u00a0Bir kitapl\u0131kta yayg\u0131n olarak kullan\u0131lan i\u015flevi tan\u0131mlayabiliriz ve di\u011fer komut dosyalar\u0131 bunlar\u0131 kodu \u00e7o\u011faltmadan kullanabilir. Bu yaz\u0131da fonksiyonlar ve tarifler hakk\u0131nda daha fazla tart\u0131\u015faca\u011f\u0131z.\u00a0G\u00f6steri amac\u0131yla\u00a0Ubuntu makinesinde\u00a0Bourne Again SHell (Bash) kullanaca\u011f\u0131m. arama fonksiyonu Shell&#8217;de \u00e7a\u011f\u0131rma i\u015flevi, ba\u015fka &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1972,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=1975"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/1975\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/1972"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=1975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=1975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=1975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}