Mini Shell

Direktori : /usr/share/cagefs-plugins/__pycache__/
Upload File :
Current File : //usr/share/cagefs-plugins/__pycache__/exec_command.cpython-311.pyc

�

�o�i�
���ddlmZddlmZddlmZddlmZddlmZej��ddlTddl	Z	d�Z
d	�Zd
�Zd�Z
dd
�Zd�ZdS)�)�print_function)�absolute_import)�division)�unicode_literals)�standard_library)�*Nc�.�|ddkr|dkrdSdS)Nr�"����line�isquotfs  �)/usr/share/cagefs-plugins/exec_command.py�
first_quotrs!���A�w�$���7�a�<�<��q��1�c�N�|t|��dz
dkr|dkrdSdS)Nrr
r)�lenr
s  r�	last_quotrs.���C��I�I�a�K��$���7�a�<�<��q��1rc��|�d��}d}d}g}tt|����D]�}||dkr�t|||��dkrd}||}�3t	|||��dkr&d}|d||zz
}|�|���s|�||����t
|��dS)N� r�r)�split�rangerrr�append�print)�command�isquot�res�result�is     r�
parse_commandr"s����m�m�C� � �G��F�
�C�
�F�
�3�w�<�<�
 �
 �&�&���1�:�����'�!�*�f�-�-��2�2����a�j�������V�,�,��1�1����c�'�!�*�n�$���
�
�c�"�"�"���M�M�'�!�*�%�%�%��	�&�M�M�M�M�Mrc�z�g}	tj|ddtjd���}	|j���}|sn@|���dkr'|�|������\n6#t$r)}tdt|��z��Yd}~nd}~wwxYw|S)NT�	/bin/bash)�shell�
executable�stdout�textrrzCall process error: )
�
subprocess�Popen�PIPEr'�readline�stripr�	Exceptionr�str)rr �p�output�insts     r�exec_commandr31s���
�F�	0���W�D�[�Q[�Q`�gk�l�l�l��	.��X�&�&�(�(�F��
���|�|�~�~�r�!�!��
�
�f�l�l�n�n�-�-�-�	.����0�0�0�
�$�S��Y�Y�.�/�/�/�/�/�/�/�/�����0�����Ms�BB�
B8�B3�3B8Fc
�\�	|r=tj|ddtjtjt	d��d���}n1tj|ddtjt	d��d���}|���\}}n"#t$rtd|��gcYSwxYw|S)NTr$z	/dev/null)r%r&r'�stderr�stdinr()r%r&r'r6r(zError: failed to run )r)r*r+�STDOUT�open�communicate�OSErrorr)r�merge_stderrr0�out�_s     r�exec_command_null_inputr>@s�����	,�� ���,7�(2��(2�(9�'+�K�'8�'8�&*�,�,�,�A�A�� ���,7�(2��'+�K�'8�'8�&*�	,�,�,�A�
�=�=�?�?���a�a������
�%�w�/�/�/��	�	�	������Js�BB
�
B)�(B)c�>�t|��}|D]
}||vr|cS�dS)N���)r3)r�	substringr r!s    r�exec_command_find_substringrBWs:��
�'�
"�
"�F�
������>�>��H�H�H��
�2r)F)�
__future__rrrr�futurer�install_aliases�builtinsr)rrr"r3r>rBrrr�<module>rGs���&�%�%�%�%�%�&�&�&�&�&�&�������'�'�'�'�'�'�#�#�#�#�#�#� �� �"�"�"���������
�
�
�

�
�
�
���*�������.����r