ls&ユーザーが何かを入力しているかどうかを確認したいので、シェルでバックグラウンドジョブls &を設定できるようになります。bg_flagただし、次のコードは に対してチェックできませんls&&。ls&&ユーザーが入力した場合、または最後に複数のものが含まれている場合、バックグラウンドジョブと見なされたくないためです(Linuxシェルでも同じかどうかはわかりません)&。
if (strstr(args[arg_count-1],"&")!=NULL)
//if (strcmp(args[arg_count-1],"&")==0)
{
bg_flag=1;
printf("I am a background job %d ",getpid());
}
これを修正するための適切な方法を教えてください。