2015-09-09 9 views
5

Buduję program Haskell, który używa parsera argumentów wiersza poleceń, używając biblioteki opcji-aplikacji. Ponieważ używam stosu zbudować i przetestować mój projekt, chciałbym wykonać mój program przechodzącej argumenty wiersza poleceń za pomocą stosu exec, jakJak przekazywać argumenty wiersza poleceń do stosu exec

stack exec myprogram-exe -i myfile.txt 

ale gdy próbuję wykonać, Stos daje mi się następujący komunikat:

Usage: stack exec CMD [-- ARGS (e.g. stack ghc -- X.hs -o x)] ([--plain] | 
       ([--ghc-package-path] | [--no-ghc-package-path]) 
       ([--stack-exe] | [--no-stack-exe]) [--package ARG]) 

Czy istnieje sposób przekazywania argumentów wiersza poleceń do programu wykonanego przy użyciu Stack?

+1

Spróbuj 'stos Exec - myprogram-exe -i myfile.txt' ? – Sibi

+0

@sibi to właściwe podejście. Czy możesz napisać to jako odpowiedź? '$ (stack exec foo)' działałoby również na powłokach Uniksa –

Odpowiedz

7

Coś jak to powinno działać:

stack exec -- myprogram-exe -i myfile.txt 

inny sposób, jak mówi Michael Snoyman powinno być tak:

$(stack exec which foo)