�
�Udac @` sb d d l m Z m Z m Z e Z d Z d d l m Z d d l m
Z
d e
f d � � YZ d S( i ( t absolute_importt divisiont print_functions
name: sh
plugin_type: shell
short_description: "POSIX shell (/bin/sh)"
version_added: historical
description:
- This shell plugin is the one you want to use on most Unix systems, it is the most compatible and widely installed shell.
extends_documentation_fragment:
- shell_common
( t shlex_quote( t ShellBaset ShellModulec B` s_ e Z e d � Z d Z d Z d Z d Z d Z d Z d
Z
d Z d Z d
Z
d Z d � Z RS( t sht zsht basht dasht ksht echot ;s
s > /dev/null 2>&1s &&s ||s "`s `"t (t )c
C` s� t | � } d t d | d | d | j d | j � } d j | | | j � d j | | | j � g } d | j j | � } d | | | j | f } | S(
Ns� rc=flag; [ -r %(p)s ] %(shell_or)s rc=2; [ -f %(p)s ] %(shell_or)s rc=1; [ -d %(p)s ] %(shell_and)s rc=3; %(i)s -V 2>/dev/null %(shell_or)s rc=4; [ x"$rc" != "xflag" ] %(shell_and)s echo "${rc} "%(p)s %(shell_and)s exit 0t pt it shell_andt shell_oru ({0} -c 'import hashlib; BLOCKSIZE = 65536; hasher = hashlib.sha1();{2}afile = open("'{1}'", "rb"){2}buf = afile.read(BLOCKSIZE){2}while len(buf) > 0:{2} hasher.update(buf){2} buf = afile.read(BLOCKSIZE){2}afile.close(){2}print(hasher.hexdigest())' 2>/dev/null)u� ({0} -c 'import sha; BLOCKSIZE = 65536; hasher = sha.sha();{2}afile = open("'{1}'", "rb"){2}buf = afile.read(BLOCKSIZE){2}while len(buf) > 0:{2} hasher.update(buf){2} buf = afile.read(BLOCKSIZE){2}afile.close(){2}print(hasher.hexdigest())' 2>/dev/null)s %s s %s; %s %s (echo '0 '%s)( R t dictt
_SHELL_ANDt _SHELL_ORt formatt _SHELL_EMBEDDED_PY_EOLt join( t selft patht
python_interpt shell_escaped_patht testt csumst cmd( ( s<