首页 > 解决方案 > 处理 < > 内的 argv 值:意外标记“换行符”附近的语法错误

问题描述

我正在处理传递给我的 c 程序的值,它可以工作,除非参数包含在 <> 中。我假设这意味着它不是一个参数,但我需要了解它是什么以及如何处理它。

在第二个块中,我传入 key2 并打印出来,但在第一个块中没有。

dhruv@dhruv-MS-7B79:~/Documents/GSU/DataSec/test2$ ./worm key < file >
bash: syntax error near unexpected token `newline'


dhruv@dhruv-MS-7B79:~/Documents/GSU/DataSec/test2$ ./worm key key2
key
key2

我的最终目标是从 <file> 中删除文件名,以便我可以将其通过管道传输到另一个程序。

这是我用来连接所有参数的代码:

  for(int i = 1 ; i < argc ; i++){
    strcat(buffer, " ");
    strcat(buffer, argv[i]);
    char* temp = edit_a(argv[i]);
  }

编辑是为了拉出文件名

标签: cshellubuntu

解决方案


推荐阅读