如果看过上一篇的话,还会记得在本Shell中main函数内第一条实质性的指令是
getTaskList(task_queue);
在本节,就会讲解这个获取任务列表,并存储到任务队列中的函数,到底在干什么。
我先把整个函数摆在下面,然后逐一讲解(先不要看下面这一大段代码)
void getTaskList(queue<string> & task_queue)
{
while(!task_queue.empty()) task_queue.pop();
string command_line;
getline(cin, command_line);
if(cin.eof())
{
exit(0);
}
if(command_line.empty())
return;
if(command_line.back() == '&')
{
getIfDetach() = true;
command_line.erase(command_line.end() - 1);
if(comman