当前位置: 主页 > Python语言

python 执行bash命令-python 执行bash命令

发布时间:2023-03-14 07:06   浏览次数:次   作者:佚名

一、bash -c “bash命令”

使用shell去运行脚本,通常有两种方法:

运行方式1:bash xxx.sh

对于bash xxx.sh, 首先bash 会在当前目录去寻找xxx.sh,如果找到,就直接运行,找不到则按照环境变量$PATH的指定路径,按顺序去找,如果找到,则执行,找不到则报错。

shell脚本的参数$0就是要执行的shell脚本xxx.sh,$1就是后面紧跟xxx.sh的参数,$2 $3依次类推。

bash远程代码执行漏洞_python 执行bash命令_python 执行bash命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

bash远程代码执行漏洞_python 执行bash命令_python 执行bash命令

运行方式2:bash -c “cmd string”

如果用-c 那么bash 会从第一个非选项参数后面的字符串中读取命令,如果字符串有多个空格,第一个空格前面的字符串是要执行的命令,也就是$0, 后面的是参数,即$1, $2….

在这里插入图片描述

python 执行bash命令_python 执行bash命令_bash远程代码执行漏洞

多命令执行符格 式作 用

;

命令1;命令2

bash远程代码执行漏洞_python 执行bash命令_python 执行bash命令

多条命令顺序执行,命令之间没有任何逻辑关系;如果使用";"连接多条命令,那么这些命令会一次执行,但是各命令之间没有任何逻辑关系,也就是说,不论哪条命令报错了,后面的命令仍会依次执行。

&&

命令1 && 命令2

python 执行bash命令_bash远程代码执行漏洞_python 执行bash命令

如果命令1正确执行(?=0)python 执行bash命令,则命令2才会执行;如果命令1执行不正确(?≠0),则命令2不会执行

||

命令1 || 命令2

如果命令1执行不正确(?≠0),则命令2才会执行;如果命令1正确执行(?=0)python 执行bash命令,则命令2不会执行

二、python -c “python命令” 运行方式1:python xxx.py 运行方式2:python -c “python命令”

在这里插入图片描述