Ich werde das allgemeiner beantworten - ein wenig auf die gesamte "Unix- Lernerfahrung " schauen .
In Ihrem Beispiel verwenden Sie zwei Tools und sehen, dass die Sprache ähnlich ist. Es ist nur unklar, wann was genau zu verwenden ist. Natürlich können Sie davon ausgehen, dass es eine klare Struktur gibt , also bitten Sie uns, dies zu erklären.
Der Fall mit dem Raum um =
ist nur ein Beispiel - es gibt viele ähnliche, aber bot-ruhige Fälle.
Es muss eine Logik geben, oder?!
Die Regeln , wie Code für einige schreiben Werkzeug , Shell, Datenbank usw. nur abhängen auf , was dieses besondere Werkzeug erfordert .
Das bedeutet, dass die Werkzeuge technisch völlig unabhängig sind. Die logische Beziehung , die Sie meiner Meinung nach erwarten, existiert einfach nicht .
Die offensichtliche Ähnlichkeit der Sprachen, die Sie sehen, ist nicht Teil der Programmimplementierung . Die Ähnlichkeit besteht darin, dass die Entwickler vereinbart hatten, wie dies zu tun ist, als sie es für ein bestimmtes Programm aufschrieben. Aber Menschen können nur teilweise zustimmen .
Die Beziehung, die Sie sehen, ist eine kulturelle Sache - sie ist weder Teil der Implementierung noch der Definition der Sprache .
Was tun in der Praxis, nachdem wir die Theorie behandelt haben?
Ein großer Schritt besteht darin, zu akzeptieren, dass die von Ihnen erwartete Konsistenz nicht vorhanden ist - was beim Verständnis der Gründe viel einfacher ist -. Ich hoffe, der theoretische Teil hilft dabei.
Wenn Sie zwei Tools haben, die nicht dieselbe Konfigurationssprache verwenden (z. B. beide Bash-Skripte), hilft es nicht viel, die Details der Syntax des einen zu kennen, um das andere zu verstehen.
Sie müssen also in der Tat unabhängig nach Details suchen . Stellen Sie sicher, dass Sie wissen, wo Sie die Referenzdokumentation für jede finden.
Positiv zu vermerken ist, dass es eine gewisse Konsistenz gibt, die Sie nicht erwartet haben: Im Kontext eines einzelnen Tools (oder verschiedener Tools, die dieselbe Sprache verwenden) können Sie ziemlich sicher sein, dass die Syntax konsistent ist.
In Ihrem mysql
Beispiel bedeutet dies, dass Sie davon ausgehen können, dass alle Zeilen dieselbe Regel haben. Die Regel lautet also "Leerzeichen vor und nach =
ist nicht relevant ".
Es gibt große Unterschiede, wie schwierig es ist, die Konfigurations- oder Skriptsprache eines Tools zu lernen oder zu verwenden.
Es kann sich um " List foo values in cmd-foo.conf, einen pro Zeile" handeln.
Es kann eine vollständige Skriptsprache sein , die auch an anderer Stelle verwendet wird. Dann haben Sie ein leistungsstarkes Tool zum Schreiben von Konfigurationen - und in einigen Fällen ist das einfach nur nett, in anderen werden Sie das wirklich brauchen.
Komplexe Tools oder große Familien verwandter Tools verwenden manchmal nur eine sehr komplexe Syntax für spezielle Konfigurationsdateien - (einige berühmte Beispiele sind sendmail
und vim
).
Andere verwenden ein allgemeines SkriptSprache als Basis, und erweitern Sie diese Sprache, um die besonderen Bedürfnisse zu unterstützen , manchmal auf komplexe Weise, wie es die Sprache erlaubt. Dies wäre ein sehr spezifischer Fall einer domänenspezifischen Sprache ( DSL ) .