我对Unix和Linux还不熟悉。我正在尝试一个例子,从一本书“系统编程与C和Unix”,由亚当胡佛,第159-162页。我用的是Linux Ubuntu。
我想输入两个C代码(summer | bingo)。
夏令营
#include<stdio.h>
void main()
{
int x,s;
s =0 ;
while(1)
{
printf("#?");
scanf("%d",&x);
if (x == 0)
break;
s = s +x;
printf("sum = %d\n",s);
}
}
答对 了
#include<stdio.h>
#include<string.h>
void main()
{
char s[80];
while(1)
{
scanf("%s",s);
if ( strcmp(s,"sum=5") == 0 )
{
printf("Bingo!\n");
}
else if( strcmp(s,"sum=12") == 0)
{
break;
}
}
}
在Linux终端中,我遵循命令。
gcc-o夏季.c
gcc-o宾果宾果c
夏季|宾果
我做不到,它会出错。
“程序'summer'当前未安装。
您可以键入以下命令来安装:
sudo apt安装chiark utils bin
没有找到“bingo”命令,你是说:
命令“bing”来自包“bing”(universe)
“bino”包中的命令“bino”(universe)
宾果:未找到命令“
summer和bingo文件正在使用./summer和./bingo工作
但是,/夏天|宾果不起作用。
我试图使用“”标准输出。
这些做得很好。但是“|”给出了一个错误。
任何帮助对于学习UNIX都非常有用。
最佳答案
选项1:显式指定两个命令的路径
./summer | ./bingo
选项2:将当前路径添加到路径中,以便找到它们。在
bash
上,您可以执行export PATH="$PATH:$(pwd)"
summer | bingo
请注意,向路径中添加“.”并不是最安全的操作,而是实际指定包含
summer
和bingo
的路径,或者使用pwd
显式添加当前文件夹。关于linux - Unix中的管道。实现示例时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49721842/