Tek tırnak içinde kabuk hiçbir şeyi genişletmez. Yerine çift tırnak içine yerleştirin:
curl -u <my-api-token>: \
-X POST https://api.pushbullet.com/v2/pushes \
--header 'Content-Type: application/json' \
--data-binary '{"type": "note", "title": "'"$TR_TORRENT_NAME"'", \
"body": "'"$TR_TORRENT_NAME completed"'."}'
Bakalım bunun nasıl çalıştığını inceleyelim:
$ TR_TORRENT_NAME=MyTorrent
$ echo '{"type": "note", "title": "'"$TR_TORRENT_NAME"'", "body": "'"$TR_TORRENT_NAME completed"'."}'
{"type": "note", "title": "MyTorrent", "body": "MyTorrent completed."}
Kabuk değişkeni göründüğünde, her zaman çift tırnak içindedir. Sonuç olarak, düzgün bir şekilde genişletilir.
Böyle alıntı yapmak biraz zekice. Karakter olarak çift tırnak içeren ve çift tırnaklı dizelerin yanında bulunan tek tırnaklı dizgelere sahibiz. Bunu daha iyi anlamak için, bu parçayı örnek olarak alalım:
"'"$TR_TORRENT_NAME"'"
Her karakteri sırayla alarak:
"
Tek tırnaklı bir dizgenin içindeki değişmez çift alıntı karakteridir. (Kısaltması için, bu dizenin başlangıcı bu parçada gösterilmez.)
'
tek tırnaklı bir dize kapatır.
"
çift tırnaklı dize açar.
$TR_TORRENT_NAME
çift tırnak içinde genişletilmiş bir kabuk değişkenidir.
"
çift tırnaklı dizeyi kapatır.
'
yeni bir tek tırnaklı dize açar.
"
Tek tırnaklı dize içine çift tırnaklı bir karakter yerleştirir.