将终端命令缩短为纸条

2024-09-30 04:31:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想办法缩短一个命令,让我把配置从网络设备推到备份设备上 全部命令如下:

curl http://192.168.195.57:8888/node/IPofDevicetoPush

这个命令很长,很烦人的类型时,想推动配置,所以我想缩短它。在我的python脚本中,我有以下内容:

#!/usr/bin/env python
import os
IPofDevicetoPush =raw_input("IP or hostname: ")
os.system("curl http://192.168.X.X/node/next/IPofDevicetoPush")

我想从终端窗口执行如下操作:

sudo oxs -x Mypush.py IPofDevicetoPush 

并将IPofDevicetoPush“复制”到脚本中,以便脚本可以运行

os.system("curl http://192.168.X.X/node/next/IPofDevicetoPush") 

Tags: 命令脚本nodehttp类型binosusr
2条回答

注意你应该favor subprocess methods over os.system。你知道吗

尝试以下操作:

#!/usr/bin/env python
import sys
from subprocess import call

if len(sys.argv) != 2:
    print("Pass an arg.")
    sys.exit(1)

cmd = "curl http://192.168.X.X/node/next/{}".format(sys.argv[1])
sys.exit(call(cmd, shell=True))

非常简单的事情:

import sys
import os

os.system("curl http://192.168.X.X/node/next/{}".format(sys.argv[1]))

sys.argv是一个包含由空格分隔的命令行参数的列表。sys.argv[0]是脚本本身,因此您的参数是sys.argv[1]。你知道吗

当然,您可以通过所有检查来改进它,以确保输入参数是存在的,并且满足您想要的任何必要条件。你知道吗

相关问题 更多 >

    热门问题