两条指令同时执行,前提是第一条指令返回0。否则不执行第二条指令。
root@jiqing-virtual-machine:~/cspace/les3# gcc main.c -o main.out && ./main.out
./main.out
hello world!
可以通过
echo $?
来查看指令是否成功,返回0则成功,返回其他则不成功。
root@jiqing-virtual-machine:~/cspace/les3# gcc main.c -o main.out
root@jiqing-virtual-machine:~/cspace/les3# echo $?
0
我们继续进入main.c文件。修改return的返回值。
#include <stdio.h>
int main(int argc,char *argv[])
{
printf("%s
",argv[0]);//读取可执行程序(包括路径)
/*读取参数*/
int i = 1;
while(i < argc)
{
printf("%s
",argv[i]);
i++;
}
printf("hello world!
");
return 1;
}
这个时候,执行
root@jiqing-virtual-machine:~/cspace/les3# gcc main.c -o main2.out && ./main2.out && ls
./main2.out
hello world!
ls 指令将不会执行,因为之前的返回值不是0。
重新改为0,再次执行
root@jiqing-virtual-machine:~/cspace/les3# gcc main.c -o main.out && ./main.out && ls
./main.out
hello world!
main2.out main.c main.out
再看隐藏的参数作用。
root@jiqing-virtual-machine:~/cspace/les3# ./main.out -l -a
./main.out
-l
-a
hello world!