Tilde genişlemesi POSIX tarafından şu şekilde tanımlanır:
Bir "tilde-öneki", kelimenin başında yer alan, tırnaksız bir <tilde> karakterinden oluşur; bunu, kelimenin ilk tırnak işareti olmayan <slash> 'dan önceki tüm karakterleri veya < > çizgi. Bir ödevde, çoklu tilde önekleri kullanılabilir: [...] ödevin <equals-sign> ını takiben, herhangi bir alıntı yapılmamış <colon> veya her ikisini takip ederek. [...] Eğer tilde öneki karakterlerden hiçbiri alıntılanmamışsa, <tilde> 'dan sonraki tilde öneki karakterlere kullanıcı veri tabanından giriş yapılabilir. [...] Oturum açma adı boşsa (yani, tilde öneki sadece tilde içeriyorsa), tilde öneki HOME değişkeninin değeri ile değiştirilir. HOME ayarlanmamışsa sonuçlar belirtilmez. [...]
Bu yüzden en kısa cevap "bu şekilde tanımlandığı için" dır: önek içerisindeki karakterlerden herhangi birinin alıntılanması ~
, genişlemeyi bastırır.
Ayrıca genişlemeyi her zaman tek bir kelimeyle sonuçlandığı gibi tanımlar, bu yüzden alıntı yapmak gereksiz olacaktır:
Tilde genişlemeden kaynaklanan yol adı, alan bölünmesi ve yol adı genişlemesi ile değiştirilmesini önlemek için alıntılanmış gibi işlem görmelidir.
Yolun bir kısmının alıntı yapması gerektiği, ancak gerisinin bir tilde öneki olduğu durumlarda, tilde genişlemesini ve sıradan alıntıları doğrudan birleştirebilirsiniz:
$ cat ~/"file name with spaces"
Daha geniş "neden" üzerine: kelime bölmek için makul bir kullanım olmadığından ~
, alıntı yapılmasını istemek yerine varsayılan davranış bu olmalıdır. Çünkü alıntı yapmaya gerek yok, ~
tırnak işaretleri içinde özel bir anlam vermek gereksiz bir komplikasyon olabilir. Ve elbette, tarihsel nedenler, arzu edilse bile, şimdi değiştirilemeyeceği anlamına gelir.