Giriş
"$(...)" şeklindeki komutu çalıştırır ve çıktısını verir.
"$(...)" ş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
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
Şö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