Python使用paramiko库在远程服务器创建变量文件名文件的实现咨询
实现方案
你可以通过Python的字符串格式化能力拼接变量到命令中,以下是几种常用的实现方式,同时附安全注意事项:
1. f-string 拼接(Python 3.6+ 推荐使用,可读性最高)
# 自定义变量 var = "your_custom_value" # 拼接生成命令 cmd = f"touch /home/test/{var}_file.txt"
2. str.format() 拼接(兼容所有Python3版本)
var = "your_custom_value" cmd = "touch /home/test/{}_file.txt".format(var)
安全注意事项
如果你的自定义变量可能包含空格、$、;等特殊符号,直接拼接会导致命令执行失败,甚至存在命令注入风险,建议先使用shlex库对变量做转义处理:
import paramiko import shlex # 自定义变量(含特殊字符也可以正常处理) custom_var = "2024 report v1" # 转义变量 escaped_var = shlex.quote(custom_var) ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=servername, username=usr, password=pass) cmd = f"touch /home/test/{escaped_var}_file.txt" stdin, stdout, stderr = ssh_client.exec_command(cmd) # 执行结果校验 stdout_content = stdout.readlines() stderr_content = stderr.readlines() if stderr_content: print("执行错误:", stderr_content) else: print("文件创建成功") ssh_client.close()
内容的提问来源于stack exchange,提问作者Sandy
相关产品推荐
相关产品推荐

