12
votes

Exécuter une commande système dans HASKELLL

Comment pourrais-je exécuter une commande système telle que CP quelque spécification soméréstination in haskell?

quelque chose comme un OS.EXEC .


4 Réponses :


3
votes

Je ne suis pas un haskell buff, mais Ce peut être ce que vous recherchez


1 commentaires

Mettez un exemple complet sur la réponse aux côtés du lien ...



12
votes

La norme Haskell 98 fournit: xxx

qui exécute une commande.

le nouveau System.Process La bibliothèque est plus utile, permettant une redirection d'entrée / sortie portable, etc.


5 commentaires

Remarque Si vous souhaitez réellement copier un fichier, vous devez utiliser copyfile .


@ Thomasm.dubuisson: Y a-t-il quelque chose de danger pour appeler à cp ou est copyfile juste plus simple?


@Amindfv C'est un problème de portabilité. Comment connaissez-vous que la commande cp est correcte pour votre plate-forme actuelle? Comment savez-vous que le binaire est sur le chemin? Etc.


Je ne pouvais pas résoudre cette fonction. Quel type d'importation ou de qualification est nécessaire? J'ai fini par utiliser system.cmd.system


Ce n'est certainement pas un exemple complet.



2
votes

Si vous faites ce genre de chose beaucoup, il convient de consulter http: // Hackage .hakell.org / paquet / hsh .


0 commentaires

5
votes
import System.Process

main = callCommand "cp somefile somedestination"
just works, but you may prefer other functions from the System.Process module.

2 commentaires

Je pense que c'est dirigé (j'ai eu pas dans la portée: `CallCommand ')


Nope, CallCommand est correct - RunCommand fait quelque chose de différent