관리-도구
편집 파일: sh.cpython-39.pyc
a �)gp � @ sD d dl mZmZmZ eZdZd dlZd dlm Z G dd� de �Z dS )� )�absolute_import�division�print_functiona name: sh 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 N)� ShellBasec @ sH e Zd Zed�ZdZdZdZdZdZ dZ dZd Zd Z dZdZd d� ZdS )�ShellModule)�shZzshZbashZdashZkshr Zecho�;� z> /dev/null 2>&1z&&z||z"`z`"�(�)c C sh t �|�}dt||| j| jd� }d�||| j�d�||| j�g}d| j �|�}d||| j|f }|S )Nz�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 0)�p�iZ shell_andZshell_ora ({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)z�({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)z %s z%s; %s %s (echo '0 '%s))�shlex�quote�dict� _SHELL_AND� _SHELL_OR�format�_SHELL_EMBEDDED_PY_EOL�join)�self�pathZ python_interpZshell_escaped_path�testZcsums�cmd� r �</usr/lib/python3.9/site-packages/ansible/plugins/shell/sh.py�checksum/ s �zShellModule.checksumN)�__name__� __module__�__qualname__� frozensetZCOMPATIBLE_SHELLSZSHELL_FAMILYZECHOZCOMMAND_SEPr Z_SHELL_REDIRECT_ALLNULLr r Z_SHELL_SUB_LEFTZ_SHELL_SUB_RIGHTZ_SHELL_GROUP_LEFTZ_SHELL_GROUP_RIGHTr r r r r r s r )Z __future__r r r �typeZ __metaclass__Z DOCUMENTATIONr Zansible.plugins.shellr r r r r r �<module> s