27 Nisan 2020 Pazartesi

bash command substitution

Giriş
"$(...)" şeklindeki komutu çalıştırır ve çıktısını verir.

"command substitution" subshell açar ve komutu orada çalıştırır

Diğer Alternatifler
1. backtick kullanmak
backtick eski bir yöntem. Mümkünse kaçınılmak lazım
Örnek
Şöyle yaparız
stored_date=`date`
echo $stored_date
# => Thu Jan 15 11:02:19 EST 2015
2. eval kullanmak
eval içinde bir sürü hata/bug var. Mümkünse kaçınmak lazım
Örnek
Şöyle yaparız
stored_date=$(eval "date")
echo $stored_date
# => Thu Jan 15 11:05:30 EST 2015
Ne backtick ne de eval kullanmaya gerek kalmadan şöyle yaparız
stored_date=$(date)
echo $stored_date
# => Thu Jan 15 10:57:16 EST 2015
Kullanım Örnekleri
Örnek
Şöyle yaparız
$ echo text > FILE
$ wc < "$(echo FILE)" > WC_OUT
Örnek
Şöyle yaparız.
 $ printf '%s\nnewtextinbetween\n%s\n' "$(cat file1)" "$(cat file2)" > file3
 $ cat file3
 text1
 newtextinbetween
 text2
Örnek
Şöyle yaparız.
#!/usr/bin/env sh

printf "Enter age: "
read -r age
echo "$age"  
echo first digit: "$(echo "$age" | cut -c1)"

Hiç yorum yok:

Yorum Gönder