shell скрипты с Turtle

48 views
Skip to first unread message

Александр Замараев

unread,
Jun 23, 2016, 4:03:32 AM6/23/16
to Русский Haskell
Привет все!

И не понимаю как сделать простейшую вещь:
Выполнить строку шеллом и получить вывод.

Ткните носом.

Yuriy Syrovetskiy

unread,
Jun 23, 2016, 4:37:07 AM6/23/16
to Русский Haskell
inshell

Imants Cekusins

unread,
Jun 23, 2016, 4:39:48 AM6/23/16
to haskell...@googlegroups.com
Привет,

не знаю, как прогнать 1 файлик .hs, но скомпилировать прогу и запустить её можно вот так:

$ cabal install turtle

Main.hs, как в примере:

#!/usr/bin/env runhaskell
                                    -- #!/bin/bash
{-# LANGUAGE OverloadedStrings #-}  --
                                    --
import Turtle                       --
                                    --
main = echo "Hello, world!"         -- echo Hello, world!

добавьте turtle.cabal с таким содержанием:

name:                test-turtle
version:             1.0
build-type:          Simple
 
cabal-version:       >=1.10

executable test_turtle
  main-is: Main.hs
  
    
  build-depends:       base >=4.8 && <4.9,
                      turtle
  hs-source-dirs:      .
  default-language:    Haskell2010
  default-extensions:   OverloadedStrings
                     

теперь здесь же, в .
 cabal build

идём в 
./dist/build/test_turtle

там должна быть 
test_turtle

запускаем её и читаем приветствие.



--
Вы получили это сообщение, поскольку подписаны на группу "Русский Haskell".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес haskell-russi...@googlegroups.com.
Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный адрес haskell...@googlegroups.com.
Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке https://groups.google.com/d/msgid/haskell-russian/a4f14216-7ccd-471a-a3e4-7ecd83ed0d40%40googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Юрий Сыровецкий (Yuriy Syrovetskiy)

unread,
Jun 23, 2016, 5:09:52 AM6/23/16
to haskell...@googlegroups.com
Точнее, так: inshell для построчного чтения в Shell и shellStrict для
чтения целиком в любой MonadIO монаде — хоть в IO, хоть в Shell.

23 июня 2016 г., 11:37 пользователь Yuriy Syrovetskiy
<from...@gmail.com> написал:
> --
> Вы получили это сообщение, поскольку подписаны на группу "Русский Haskell".
> Чтобы отменить подписку на эту группу и больше не получать от нее сообщения,
> отправьте письмо на электронный адрес
> haskell-russi...@googlegroups.com.
> Чтобы отправлять сообщения в эту группу, отправьте письмо на электронный
> адрес haskell...@googlegroups.com.
> Чтобы посмотреть обсуждение на веб-странице, перейдите по ссылке
> https://groups.google.com/d/msgid/haskell-russian/61ba5107-2314-4fba-9fb8-86f8e1d68f58%40googlegroups.com.
>
> Чтобы настроить другие параметры, перейдите по ссылке
> https://groups.google.com/d/optout.



--
Сыр Российский (Cheese Russian), http://cblp.su, email/jabber: cb...@cblp.su

Юрий Сыровецкий (Yuriy Syrovetskiy)

unread,
Jun 23, 2016, 5:15:14 AM6/23/16
to haskell...@googlegroups.com
Всё намного проще, достаточно вот этого:


#!/usr/bin/env stack
-- stack runhaskell --package=turtle
{-# LANGUAGE OverloadedStrings #-}
import Turtle
main = sh $ do
x <- inshell "ls /" empty
echo $ "another item: /" <> x


и наличия stack.

23 июня 2016 г., 11:39 пользователь Imants Cekusins <ima...@gmail.com> написал:
> https://groups.google.com/d/msgid/haskell-russian/CAP1qinYf2q3CfeSBvSYxy_Vio%3DrLimzR1UiftPCpybqOavSHVw%40mail.gmail.com.
>
> Чтобы настроить другие параметры, перейдите по ссылке
> https://groups.google.com/d/optout.



--
Yuriy Syrovetskiy, http://cblp.su

Imants Cekusins

unread,
Jun 23, 2016, 5:24:24 AM6/23/16
to haskell...@googlegroups.com
ну вот, теперь Александр может попробовать и со stack'ом, и без него. Как ему удобнее.

Чтобы добавлять сообщения в эту группу, отправьте письмо по адресу haskell...@googlegroups.com.
Просмотреть это обсуждение в Сети можно по адресу https://groups.google.com/d/msgid/haskell-russian/CAPVeL7Boo%2BQ-9wEGJzp174TUED-LszSWV13y74vC_0fbOhy5vQ%40mail.gmail.com.
Настройки подписки и доставки писем: https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages