2010-08-12 22 views

Respuesta

11

El estándar Haskell 98 proporciona:

System.system :: String 
       -> IO GHC.IO.Exception.ExitCode 

que ejecuta un comando.

La nueva biblioteca System.Process es más útil, lo que permite la redirección de entrada/salida portátil, y así sucesivamente.

+0

Tenga en cuenta que si realmente desea copiar un archivo, debe usar [copyfile] (http://haskell.org/hoogle/?hoogle=%3A%3A+FilePath+-%3E + FilePath + -% 3E + IO +% 28% 29). –

+0

@ ThomasM.DuBuisson: ¿Hay algo inseguro en llamar a 'cp', o simplemente' copyfile' es más simple? – amindfv

+3

@amindfv Es un problema de portabilidad. ¿Cómo sabes que el comando 'cp' es correcto para tu plataforma actual? ¿Cómo sabes que el binario está en el camino? Etc, etc. –

2

no soy un aficionado a Haskell, pero this puede ser lo que usted está buscando

+0

Funciona para mí. Gracias. –

+0

@Clark Genial, me alegro de poder ayudarle –

1
module Main where 

import System.Process 

main = callCommand "cp somefile somedestination" 

funciona, pero es posible que prefiera otras funciones del módulo System.Process.

+0

Creo que es runCommand (Obtuve' No en el alcance: \ 'callCommand'') – peer

Cuestiones relacionadas