问题标签 [dup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
555 浏览

perl - How can I test STDERR with Test::More?

I am writing some tests using Test::More, and one of the functions I'm testing prints to STDERR. I'd like to test the output to STDERR, but am a little unsure how to do this. I know I'm close. This works:

This prints out:

However, I don't want to close STDERR. I merely want to dup it.

I've tried this:

But, $error_string is blank.

What am I doing wrong?

0 投票
1 回答
79 浏览

d - dup 如何在锯齿状数组上工作?

我希望它只复制嵌套数组切片而不是数组的整个深层副本,但突然间我有了疑问。

0 投票
0 回答
244 浏览

c - 我无法将输出从文件重定向回标准输出 C

我浏览了整个互联网和 die.net,但看不到让我的代码工作。我的问题是我能够将输出重定向到文件,但无法将其恢复为标准输出,我尝试使用dup,dup2close,但也许我使用错误。任何帮助将不胜感激,谢谢

. if(myargc >= 3)当我尝试重定向输出时,我的问题从块开始。

0 投票
1 回答
48 浏览

c - 将文件读取到标准输入以供解析器使用

我正在尝试在 linux 环境中实现一个 shell 程序。我遇到问题的部分是在运行 shell 之前读取 shell 内的 setup_file,以执行诸如设置环境变量之类的操作。

目前,shell 有一个 parser_results = parse() 函数,它执行“getchar”并等待用户在标准输入中键入内容,然后执行 execute(parser_result),它使用解析器的输出执行命令。

我想要做的是读取其中包含命令的 setup_file,让解析器读取它们并给我我需要的数据结构。然后我可以运行执行。

我的问题是如何将文件的内容重定向到标准输入?以及如何调用解析器来解析这个重定向的输入?我一直在玩 dup 和 dup2 无济于事。

0 投票
1 回答
477 浏览

c - fork 后的 Unix dup 管道

我想使用管道实现子进程与其父进程之间的通信。这是代码:

父母应该写一个数字 127,孩子应该读它,但它没有。孩子一直在 scanf 等待。怎么了?

0 投票
1 回答
1144 浏览

linux - Linux shell 中的 I/O 流重定向。shell 如何处理带有重定向的命令?

目前我正在编写一个小外壳(重定向、管道、执行等)。一直试图弄清楚 Linux shell 在解决 I/O 重定向方面采取的步骤。

关于我需要帮助的一些问题:

  1. shell 在寻找重定向时从命令行读取的方向是什么?从左到右还是相反?使用递归?

  2. shell需要查找哪些情况?(不确定是否有很多或只有一对可以包含很多变化)

无论如何,我能想到的一些是(如果我错了,请纠正我):

现在我不知道以下情况的过程(如外壳如何查找和处理这些)。我不知道外壳采取的步骤

0 投票
1 回答
845 浏览

c - 重定向到 execlp()

我对 execlp 有疑问。当我不知道如何将命令从指针数组正确重定向到 execlp 时。例如我想使用

我的程序只需要“ls”和“sort”

所有命令都在指针数组中,其中:ls -l在第一个表中,sort -n在第二个表中

0 投票
2 回答
1760 浏览

c - 使用 dup2 和 execv 在 C 中获取文件夹内容

我编写了一个程序,在 Linux 终端中使用 ls 命令来读取文件夹的内容,并使用我的 C 程序将 ls 中的文本写入屏幕。这是我写的代码:

我为这个程序得到的输出是:

似乎在写作之前已经完成了阅读。但我认为阅读是阻塞的。请帮我在这里找到错误。

提前致谢。

0 投票
2 回答
1613 浏览

c - 带有 fork execvp 管道和 dup2 的 cat

这是我正在做的一组练习中的一个步骤。我编写的程序应该有两个以上的参数。第一个参数的使用尚未实现。其余参数是目录列表。

在这一步中,我要做的是为参数中给定的每个目录创建一个 cat 实例,使用 cat 获取每个目录的所有文件的内容并打印内容。我应该能够处理 /home/directory 和 /home/directory/ 之类的路径(最后一个 / 或没有)

目前我正在做的是尝试使用参数 /home/directory/* 运行 cat ,以便它读取给定目录中的所有文件并返回它们的内容。这是我的代码:

我按如下方式运行此代码:

我得到的结果是:

但是当我这样做时:

结果是:

请帮助我用我的程序得到这个结果。

提前致谢

0 投票
1 回答
1068 浏览

arrays - 具有多个“DUP”的 x86 数组声明 - 它有什么作用?

我正在研究x86 assembly,我遇到了这个声明:

这个声明有什么作用?

  1. 为名为 的数组分配空间array1,大小DB * 5 * 2 = 10为 10 个*元素。

  2. 为名为 的数组分配空间ærray1,其大小为DB * 55 个**元素。这意味着有 5 个*元素被丢弃。

  3. 分配一个名为 的多维数组array1,具有大小[5][2]和 5 个{'*', '*'}元素。

那么,这个声明是否等同于

char array1[10] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}

还是相当于

char array1[5] = {'*', '*', '*', '*', '*', '*', '*', '*', '*', '*'}

?

或者可能:

char array1[5][2] = {{'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}, {'*', '*'}}

?