2 votes

Portage de scripts de shell Linux scripts

La commande

shell$ ls . -R 

fonctionne sous Linux mais pas sous OS X. Cela s'explique par le fait que les options de la ligne de commande d'OS X doivent être fournies par le système d'exploitation. avant les arguments, et pas n'importe où comme dans Linux.

En particulier, cela signifie que tous les scripts que j'écris sur Linux ne pourront pas être portés sur Mac.

Question Comment puis-je résoudre ce problème sur le Mac ?

Je peux soit prendre soin d'écrire des scripts portables pour Linux, soit installer MacPorts de manière à ce que ls et d'autres commandes seront tirées de MacPorts et non des binaires fournis par Apple. Existe-t-il une meilleure solution ?

6voto

Réponse courte : celui qui vous convient.

Si votre expérience d'Unix provient principalement de Linux, vous êtes probablement habitué aux commandes GNU. Comme vous l'avez remarqué, elles peuvent être différentes de celles des autres systèmes d'exploitation Unix/Unix. En fonction de la complexité de vos scripts, vous pouvez soit :

  • apporter des modifications simples (comme l'utilisation de ls -R . au lieu de ls . -R ), qui fonctionnera dans la plupart des systèmes Unix/Unix (si ce n'est tous) et pas seulement dans les systèmes GNU,

  • ou installer les utilitaires GNU de MacPorts si vous pensez qu'il y aurait trop de changements complexes, ou si vous préférez vous en tenir aux commandes GNU auxquelles vous êtes déjà habitué.

Si vous voulez prendre le temps d'écrire des scripts portables, faites-le. Si vous pensez que cela n'en vaut pas la peine, alors ne le faites pas. Gardez à l'esprit que tous les systèmes Unix/Unix n'utilisent pas GNU par défaut.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X