首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在python中使用su - user执行多个命令

在Python中使用su - user执行多个命令,可以使用subprocess模块来实现。subprocess模块允许你在Python脚本中执行外部命令,并获取其输出。

下面是一个示例代码,演示如何在Python中使用su - user执行多个命令:

代码语言:txt
复制
import subprocess

def execute_commands_as_user(commands, user):
    # 构建su命令
    su_command = ['su', '-', user, '-c']

    # 执行多个命令
    for command in commands:
        # 构建完整的命令
        full_command = su_command + [command]

        # 执行命令并获取输出
        process = subprocess.Popen(full_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        output, error = process.communicate()

        # 打印输出结果
        print(f'Command: {command}')
        print(f'Output: {output.decode()}')
        print(f'Error: {error.decode()}')
        print('---')

# 要执行的命令列表
commands = [
    'ls',
    'pwd',
    'whoami'
]

# 执行命令作为指定用户
execute_commands_as_user(commands, 'user')

上述代码中,execute_commands_as_user函数接受一个命令列表和一个用户参数。它使用su - user -c命令来切换到指定用户,并执行每个命令。然后,它通过subprocess.Popen执行命令,并使用communicate方法获取命令的输出和错误信息。

你可以根据需要修改commands列表中的命令,以及execute_commands_as_user函数中的用户参数。请确保在执行命令时具有足够的权限。

注意:在实际使用中,请谨慎处理使用su命令切换用户的操作,确保安全性和权限控制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券