shell-escape-0.2.0: Shell escaping library.

Safe HaskellNone
LanguageHaskell98

Text.ShellEscape

Description

Typed shell escaping for Bourne Shell and Bash.

Synopsis

Documentation

class Escape t where #

A type class for objects that represent an intermediate state of escaping.

Minimal complete definition

escape, unescape, bytes

Methods

escape :: ByteString -> t #

Transform a ByteString into the escaped intermediate form.

unescape :: t -> ByteString #

Recover the original ByteString.

bytes :: t -> ByteString #

Yield the escaped ByteString.

data Sh #

A Bourne Shell escaped ByteString. An oddity of Bourne shell escaping is the absence of escape codes for newline and other ASCII control characters. These bytes are simply placed literally in single quotes; the effect is that a Bourne Shell escaped string may cover several lines and contain non-ASCII bytes. Runs of bytes that must be escaped are wrapped in '...'; bytes that are acceptable as literals in Bourne Shell are left as is.

Instances
Eq Sh # 
Instance details

Defined in Data.ByteString.ShellEscape.Sh

Methods

(==) :: Sh -> Sh -> Bool #

(/=) :: Sh -> Sh -> Bool #

Ord Sh # 
Instance details

Defined in Data.ByteString.ShellEscape.Sh

Methods

compare :: Sh -> Sh -> Ordering #

(<) :: Sh -> Sh -> Bool #

(<=) :: Sh -> Sh -> Bool #

(>) :: Sh -> Sh -> Bool #

(>=) :: Sh -> Sh -> Bool #

max :: Sh -> Sh -> Sh #

min :: Sh -> Sh -> Sh #

Show Sh # 
Instance details

Defined in Data.ByteString.ShellEscape.Sh

Methods

showsPrec :: Int -> Sh -> ShowS #

show :: Sh -> String #

showList :: [Sh] -> ShowS #

Escape Sh # 
Instance details

Defined in Data.ByteString.ShellEscape.Sh

sh :: ByteString -> Sh #

Construct a Bourne Shell escaped intermediate form.

data Bash #

A Bash escaped ByteString. The strings are wrapped in $'...' if any bytes within them must be escaped; otherwise, they are left as is. Newlines and other control characters are represented as ANSI escape sequences. High bytes are represented as hex codes. Thus Bash escaped strings will always fit on one line and never contain non-ASCII bytes.

Instances
Eq Bash # 
Instance details

Defined in Data.ByteString.ShellEscape.Bash

Methods

(==) :: Bash -> Bash -> Bool #

(/=) :: Bash -> Bash -> Bool #

Ord Bash # 
Instance details

Defined in Data.ByteString.ShellEscape.Bash

Methods

compare :: Bash -> Bash -> Ordering #

(<) :: Bash -> Bash -> Bool #

(<=) :: Bash -> Bash -> Bool #

(>) :: Bash -> Bash -> Bool #

(>=) :: Bash -> Bash -> Bool #

max :: Bash -> Bash -> Bash #

min :: Bash -> Bash -> Bash #

Show Bash # 
Instance details

Defined in Data.ByteString.ShellEscape.Bash

Methods

showsPrec :: Int -> Bash -> ShowS #

show :: Bash -> String #

showList :: [Bash] -> ShowS #

Escape Bash # 
Instance details

Defined in Data.ByteString.ShellEscape.Bash

bash :: ByteString -> Bash #

Construct a Bash escaped intermediate form.