sudo sh execute for && in commands - preventing double sudo
This commit is contained in:
@@ -21,7 +21,7 @@ patterns = ['permission denied',
|
||||
|
||||
|
||||
def match(command):
|
||||
if command.script_parts and command.script_parts[0] == 'sudo':
|
||||
if command.script_parts and '&&' not in command.script_parts and command.script_parts[0] == 'sudo':
|
||||
return False
|
||||
|
||||
for pattern in patterns:
|
||||
@@ -32,7 +32,9 @@ def match(command):
|
||||
|
||||
|
||||
def get_new_command(command):
|
||||
if '>' in command.script:
|
||||
if '&&' in command.script:
|
||||
return u'sudo sh -c "{}"'.format(" ".join([part for part in command.script_parts if part != "sudo"]))
|
||||
elif '>' in command.script:
|
||||
return u'sudo sh -c "{}"'.format(command.script.replace('"', '\\"'))
|
||||
else:
|
||||
return u'sudo {}'.format(command.script)
|
||||
|
||||
Reference in New Issue
Block a user