Saya akan menjawabnya dengan cara yang lebih umum - melihat sedikit pada keseluruhan " pengalaman belajar Unix ".
Dalam contoh Anda, Anda menggunakan dua alat, dan melihat bahasanya mirip. Tidak jelas kapan harus menggunakan apa sebenarnya. Tentu saja Anda dapat mengharapkan ada struktur yang jelas , sehingga Anda meminta kami untuk menjelaskannya.
Kasus dengan ruang sekitar =
hanya dan contoh - ada banyak kasus serupa-tetapi-bot-cukup .
Ada harus menjadi logika di dalamnya, kan ?!
The aturan bagaimana menulis kode untuk beberapa alat , shell, basis data dll hanya tergantung pada apa alat tertentu membutuhkan .
Itu berarti bahwa alat tersebut sepenuhnya independen , secara teknis. The hubungan logis yang saya pikir Anda harapkan hanya tidak ada .
Kesamaan yang jelas dari bahasa yang Anda lihat bukan bagian dari implementasi program . Kesamaan ada karena pengembang telah setuju bagaimana melakukannya ketika mereka menuliskannya untuk program tertentu. Tetapi manusia hanya bisa menyetujui sebagian .
The hubungan Anda lihat adalah budaya hal - itu tidak bagian dari implementasi , maupun dalam definisi bahasa .
Jadi, sekarang kita telah menangani teorinya, apa yang harus dilakukan dalam praktik?
Langkah besar adalah menerima bahwa konsistensi yang Anda harapkan tidak ada - yang jauh lebih mudah ketika memahami alasannya - saya harap bagian teori membantu dalam hal ini.
Jika Anda memiliki dua alat, yang tidak menggunakan bahasa konfigurasi yang sama (mis. Keduanya skrip bash), mengetahui detail sintaksis satu tidak banyak membantu dalam memahami yang lain;
Jadi, memang, Anda harus mencari detail secara mandiri . Pastikan Anda tahu di mana Anda menemukan dokumentasi referensi untuk masing-masing.
Di sisi positif, ada beberapa konsistensi di mana Anda tidak mengharapkannya: dalam konteks alat tunggal (atau alat yang berbeda menggunakan bahasa yang sama), Anda dapat yakin sintaksinya konsisten.
Dalam mysql
contoh Anda , itu berarti Anda dapat mengasumsikan bahwa semua baris memiliki aturan yang sama. Jadi aturan adalah "ruang sebelum dan sesudah =
adalah tidak relevan ".
Ada banyak perbedaan dalam seberapa sulitnya mempelajari atau menggunakan bahasa konfigurasi atau skrip alat.
Ini bisa berupa " Daftar nilai foo di cmd-foo.conf, satu nilai per baris.".
Ini bisa menjadi bahasa scripting lengkap yang digunakan di tempat lain juga. Maka Anda memiliki alat yang ampuh untuk menulis konfigurasi - dan dalam beberapa kasus itu bagus, di lain Anda benar-benar membutuhkannya.
Alat-alat yang kompleks , atau keluarga besar dari alat-alat terkait terkadang hanya menggunakan sintaksis file konfigurasi khusus yang sangat kompleks - (beberapa contoh terkenal adalah sendmail
dan vim
).
Lainnya menggunakan skrip umumbahasa sebagai basis, dan perluas bahasa itu untuk mendukung kebutuhan khusus , kadang-kadang dengan cara yang rumit, sebagaimana bahasa itu memungkinkan. Itu akan menjadi kasus yang sangat spesifik dari bahasa khusus domain ( DSL ) .