read(fileno(stdin), passwd, 1024);
if(strcmp(passwd, real_password) == 0) {
printf("\n\nWelcome back :)\n\n~$ ");
fflush(stdout);
system("/bin/bash -p");
所以我有这个程序,我想知道系统(" / bin / bash -p")调用程序做了什么?
答案 0 :(得分:0)
它使用参数bash
执行-p
。根据代码,传递路径为/bin/bash
。
检查system()的参考号:
说明
The system() library function uses fork(2) to create a child process
that executes the shell command specified in command using execl(3)
as follows:
execl("/bin/sh", "sh", "-c", command, (char *) 0);
system() returns after the command has been completed.
-p
参数,根据bash的参考:
-p选项将输出格式更改为POSIX
指定的格式