小编mar*_*zzu的帖子

从标准输入Bash逐行读取

我正在学习语言,考试曲目说:

它应该一次读取一个输入(来自标准输入)(每个条目是一个字符串,然后以换行符结束).

我的问题是两个:

  1. 如何从Bash中的标准输入逐行阅读?直到现在我用过,"read string"但我不认为它一次读取一行.

  2. 我不知道这是不是一个愚蠢的问题,但是一旦创建了脚本,我怎么能将更多行作为输入提供给脚本(当然从标准输入中读取).例如,从我插入两行(helloworld).我如何给bash脚本这两行?

unix bash stdin

8
推荐指数
2
解决办法
2万
查看次数

错误的宏定义casuses"预期表达式"错误

我有这些宏:

#define TRUE 1;
#define FALSE 0;
Run Code Online (Sandbox Code Playgroud)

我想在if条件下使用它们,例如:

if (functionThatReturnsIntZeroOrOne() == FALSE) do_something();
Run Code Online (Sandbox Code Playgroud)

但我得到这样一个错误信息:

"Expected expression". 
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

c macros

1
推荐指数
1
解决办法
1781
查看次数

理解 sed 表达式 's/^\.\///g'

我正在学习 Bash 编程,我找到了这个例子,但我不明白它的意思:

filtered_files=`echo "$files" | sed -e 's/^\.\///g'`
Run Code Online (Sandbox Code Playgroud)

特别是传递到“-e”之后的参数sed

linux sed

1
推荐指数
1
解决办法
5014
查看次数

Fifo开幕问题C.

我有这个代码:

mkfifo ("bPipe", 0660); /* Create named pipe */


int fd1 = open ("bPipe", O_WRONLY|O_NONBLOCK); /* Open named pipe for writing */

perror("FD1");

int fd = open ("bPipe", O_RDONLY|O_NONBLOCK); /* Open it for reading */

 perror("FD");

char*mex="Hello world\n\0";

write (fd1,mex , getStringLenght(mex)+1); 

char* result = readline(fd1);

printf("Rc %s : \n",result);
Run Code Online (Sandbox Code Playgroud)

我正在研究C中的FIFO,我试图创建两个FIFO,但在打开它之后我得到了这两个错误:

FD1:Device not configured
FD:Device not configured
Run Code Online (Sandbox Code Playgroud)

而且我不明白为什么.

PS"readLine"和"getStringLenght"是我的功能

c fifo

1
推荐指数
1
解决办法
824
查看次数

标签 统计

c ×2

bash ×1

fifo ×1

linux ×1

macros ×1

sed ×1

stdin ×1

unix ×1