一、各个连接符的含义
(1)A & B:首先执行A命令再执行B命令,不管A命令是否执行成功都会去执行B命令,如A与B都执行成功,A和B的结果都会输出。(A成功与否,都会执行B,表示简单拼接,无制约关系)
(2)A && B:首先先执行A命令再执行B命令,只有A正确执行才会执行B,如果A执行失败则不会执行B,所有又被称为短路运算符。(A执行成功,B才可以执行)
(3)A | B:首先执行A命令再执行B命令,不管A命令是否执行成功都会去执行B命令,如A是否执行成功,都只输出B命令的结果。(A成功与否,都会执行B)
(4)A || B:首先执行A命令再执行B命令,如A执行成功,则B不会执行,相反,如A执行失败,则会执行B命令。(A与B只能执行一个,A失败才会执行B)
二、命令实操
环境:以DVWA靶场进行演示,靶场环境自行搭建。
点击DVWA Security,选择low,点击submit。(方便漏洞展示)
(1)A & B(注:A成功与否,都执行B)
A成功,B执行
127.0.0.1&whoami
A失败,B同样执行
127.0.0.1111111111111&whoami
(2)A && B(注:只有A成功,才执行B)
A成功,B执行
127.0.0.1&&whoami
A失败,则不执行B
127.0.0.123456789&&whoami
(3)A | B(注:A成功与否都不会输出,但都执行B)
A成功,B执行(注:A的结果不会输出)
127.0.0.1|net user
A失败,B执行(注:A的结果不会输出)
127.0.0.123456789|net user
(4)A || B(注:只有A失败,才执行B)
A成功,不执行B
127.0.0.1||net user
A失败,执行B
127.0.0.987654321||net user
完美无瑕是奢望,生而普通才是常态,
我们终究要接纳平凡,与不切实际的期望和解。