私は文字通りここで髪を引っ張っています。IRC ボットのリモート シェル実行を作成しようとしていますが、「ls」や「cd」などのコマンドを使用すると、「: not found」が返されますが、mkdir やecho は正常に動作しているようです。コマンドをハードコーディングする場合も同様で、得られる出力は本来あるべきものとまったく同じです。
誰でも理由がわかりますか?これが私のコードです:
FILE *fp;
int status;
char path[1035];
/* Open the command for reading. */
fp = popen(ptr1, "r"); // hard code command and it works ????fp = popen("/bin/ls /etc/", "r");
printf("%s", ptr1);//check received command (debugging)
if (fp == NULL) {
printf("Failed to run command\n" );
倫理上の理由から一部のコードを削除しました。