最近学习CTF命令注入,当执行多条命令时需要用到命令管道符,记一下学习笔记。
Windows
||
如果前面的语句执行出错,则执行后面的语句,否则仅执行前面的语句
ping 1 || ipconfig : 仅执行ipconfig命令
ping 127.0.0.1 || ipconfig :仅执行ping命令
&
前后的语句均可执行,如果前面的命令执行失败,则仅输出后面命令结果
ping 127.0.0.1 & ipconfig :输出两个命令的结果
ping 1 & ipconfig : 仅输出ipconfig结果
&&
如果前面的命令为假,则报错,且无法执行后面的命令。
ping 1 && ipconfig :无输出
ping 127.0.0.1 && ipconfig :输出两个命令的结果
Linux
;
按顺序执行命令,无论命令是否执行成功,均依次执行之后的命令。
whoami;ipconfig
||
同windows执行逻辑
&
多条命令同时执行,如果前面的命令执行失败,则执行后面的命令,否则所有命令都会执行。
&&
同windows执行逻辑