{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"Bash'te Programlanabilir Tab Tamamlama","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"FwNtwROjos\"><a href=\"https:\/\/fatihsoysal.com\/blog\/bashte-programlanabilir-tab-tamamlama\/\">Bash&#8217;te Programlanabilir Tab Tamamlama<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/bashte-programlanabilir-tab-tamamlama\/embed\/#?secret=FwNtwROjos\" width=\"600\" height=\"338\" title=\"&#8220;Bash&#8217;te Programlanabilir Tab Tamamlama&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"FwNtwROjos\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Bash'in sundu\u011fu g\u00fc\u00e7l\u00fc \u00f6zelliklerden biri de tab tamamlama \u00f6zelli\u011fidir. Bu \u00f6zellik, komutlar\u0131 ve dosya isimlerini h\u0131zl\u0131 bir \u015fekilde tamamlaman\u0131za yard\u0131mc\u0131 olarak zaman kazand\u0131r\u0131r. Ancak, bash'in varsay\u0131lan tab tamamlama \u00f6zelli\u011fi s\u0131n\u0131rl\u0131d\u0131r. Neyse ki, bash'in sa\u011flad\u0131\u011f\u0131 g\u00fc\u00e7l\u00fc komut tamamlama mekanizmas\u0131, komut tamamlama davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirerek daha ak\u0131ll\u0131 ve daha kullan\u0131\u015fl\u0131 hale getirmenizi sa\u011flar. Bu makalede, bash'te programlanabilir tab tamamlama ile ilgili temel kavramlar\u0131 ele alarak, daha verimli bir komut sat\u0131r\u0131 deneyimi nas\u0131l elde edebilece\u011finizi ke\u015ffedece\u011fiz."}