Je répondrai à cela d'une manière plus générale - en regardant un peu l'ensemble de " l'expérience d'apprentissage Unix ".
Dans votre exemple, vous utilisez deux outils et voyez que la langue est similaire. On ne sait pas exactement quand utiliser quoi exactement. Bien sûr, vous pouvez vous attendre à ce qu'il y ait une structure claire , alors vous nous demandez d'expliquer cela.
Le cas avec l'espace autour =
est seulement et exemple - il y a beaucoup de cas similaires mais bot-tout à fait .
Il doit y avoir une logique, non?!
Les règles sur la façon d'écrire du code pour un outil , un shell, une base de données, etc. ne dépendent que de ce dont cet outil particulier a besoin .
Cela signifie que les outils sont complètement indépendants , techniquement. La relation logique que je pense que vous attendez n'existe tout simplement pas .
La similitude évidente des langues que vous voyez ne fait pas partie de la mise en œuvre du programme . La similitude existe parce que les développeurs ont convenu de la façon de le faire lorsqu'ils l'ont écrit pour un programme particulier. Mais les humains ne peuvent s'entendre que partiellement .
La relation que vous voyez est une chose culturelle - elle ne fait partie ni de la mise en œuvre , ni de la définition de la langue .
Alors, maintenant que nous avons manipulé la théorie, que faire dans la pratique?
Une grande étape consiste à accepter que la cohérence que vous attendiez n'existe pas - ce qui est beaucoup plus facile lorsque vous comprenez les raisons - j'espère que la partie théorique vous y aidera.
Si vous avez deux outils, qui n'utilisent pas le même langage de configuration (par exemple, les deux scripts bash), connaître les détails de la syntaxe de l'un n'aide pas beaucoup à comprendre l'autre;
Donc, en effet, vous devrez rechercher les détails indépendamment . Assurez-vous de savoir où vous trouvez la documentation de référence pour chacun.
Du côté positif, il y a une certaine cohérence là où vous ne vous y attendiez pas: dans le contexte d'un seul outil (ou de différents outils utilisant le même langage), vous pouvez être assez sûr que la syntaxe est cohérente.
Dans votre mysql
exemple, cela signifie que vous pouvez supposer que toutes les lignes ont la même règle. La règle est donc "l'espace avant et après =
n'est pas pertinent ".
Il y a de grandes différences dans la difficulté d'apprendre ou d'utiliser le langage de configuration ou de script d'un outil.
Il peut s'agir de " Liste des valeurs foo dans cmd-foo.conf, une par ligne".
Il peut s'agir d'un langage de script complet qui est également utilisé ailleurs. Ensuite, vous avez un outil puissant pour écrire la configuration - et dans certains cas, c'est juste bien, dans d'autres, vous en aurez vraiment besoin.
Des outils complexes ou de grandes familles d'outils connexes utilisent parfois simplement une syntaxe de fichier de configuration spéciale très complexe (certains exemples célèbres sont sendmail
et vim
).
D'autres utilisent un script générallangue comme base, et étendre cette langue pour répondre aux besoins spéciaux , parfois de manière complexe, comme la langue le permet. Ce serait un cas très spécifique d'une langue spécifique au domaine ( DSL ) .