Argumanlı Bash Fonksiyonu Yazmak

less than 1 minute read

Her seferinde jekyll talimatnamesine uygun post ismini (YYYY-MM-DD-post-name) manuel yazmak yerine terminale verdiğim efsane ayar!

Yani verdiğim ismi parametre olarak alıp reguler post ismine çeviren bir bash fonksiyonu:)

Hazırlanışı ;

  • Meraktan sonra yazılımcıların en büyük ilham kaynağı olan his,yani üşengeçlik ile malul olunur,
  • gedit ~/.bash_profile komutu ile bash profili açılır,
  • Fonksiyon yazılır. Dikkat edilmesi gereken şey, parametreler parantez içerisinde belirtilmez fonksiyon içerisinde $1,$2 sintaksıyla 1.parametre, 2.parametre olacak şekilde alınır.
  • Eğer bir değer return edilecekse genellikle return değil echo kullanılır. (Return de kullanılıyormuş fakat biraz daha spesifik durumlar için)
  • Bir başka satırda fonksiyonumuz , export -f fonksiyonismi şeklinde export edilir.
  • Terminal kapatılıp açılır böylece bash_profile tekrardan sourcelanmış olur.
  • Tebrikler, fonksiyonumuz artık kullanıma hazır.

bash_profile içerisinde kendi yazdığım fonksiyonu aşağıya koyuyorum. Sağlıcakla kalınız.

function createpost(){
	postname=$1	
	today=$(date +'%Y-%m-%d')
	postname="$today-${postname// /-}.md"
	touch "$postname"
}
export -f createpost

Usage of function with Input:

$ createpost “this is a post”

Output :

2019-01-25-this-is-a-post.md

Leave a comment