Garis miring terbalik di luar tanda kutip berarti "menafsirkan karakter berikutnya secara harfiah selama penguraian". Karena .
merupakan karakter biasa untuk parser, \.
diuraikan dengan cara yang sama dengan .
, dan memanggil builtin .
(yang source
merupakan sinonim dalam bash).
Ada satu kasus di mana itu bisa membuat perbedaan dalam konteks ini. Jika pengguna telah menetapkan alias yang dipanggil .
sebelumnya .profile
, dan .profile
sedang dibaca di shell yang memperluas alias (yang bash hanya secara default ketika dipanggil secara interaktif), maka .
akan memicu alias, tetapi \.
masih akan memicu builtin, karena shell tidak mencoba alias memperluas kata-kata yang dikutip dengan cara apa pun.
Saya menduga .
itu diubah menjadi \.
karena pengguna mengeluh setelah mereka membuat alias untuk .
.
Catatan yang \.
akan memanggil fungsi yang disebut .
. Agaknya pengguna yang menulis fungsi lebih berpengetahuan daripada pengguna yang menulis alias dan akan tahu bahwa mendefinisikan ulang perintah standar .profile
adalah ide yang buruk jika Anda akan memasukkan kode dari pihak ketiga. Tetapi jika Anda ingin mem-byp kedua alias dan fungsi, Anda bisa menulis command .
. Penulis potongan ini juga tidak melakukan ini karena mereka peduli dengan kerang antik yang tidak memiliki command
builtin, atau lebih mungkin karena mereka tidak menyadarinya.
Omong-omong, mendefinisikan alias apa pun di dalam .profile
adalah ide yang buruk karena .profile
merupakan skrip inisialisasi sesi , bukan skrip inisialisasi shell . Alias untuk bash termasuk dalam .bashrc
.