欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

linux 变量获取问题,有关read命令从管道输出读取变量参数的问题

发布时间:2025/4/5 linux 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 linux 变量获取问题,有关read命令从管道输出读取变量参数的问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

从管道输出到一个read命令中,使用管道echo输出到read会失败,然而使用管道cat输出看起来能够正常的运行

cat file1 file2 |

while read line

do

echo $line

done

但是:如下面的例子  cat到管道就可能出些问题

有个管道输出到read中的问题:

1 #!/bin/bash

2 #readpipe.sh

3

4

5 last="(null)"

6

7 cat $0 |

8 while read line

9 do

10   echo "{$line}"

11   last=$line

12 done

13

14 printf "\nAll done,last:$last\n"

15

16

17

18 exit 0

~

该脚本的输出如下:

{#!/bin/bash}

{#readpipe.sh}

{}

{}

{last="(null)"}

{}

{cat $0 |}

{while read line}

{do}

{echo "{$line}"}

{last=$line}

{done}

{}

{printf "nAll done,last:$lastn"}

{}

{}

{}

{exit 0}

All done,last:(null)

打印出了多余的大括号。

find命令输出到管道:

find $1 \(-name "*$2" -o -name ".*$2"\) -print |

while read f

do

。。。。

done

阅读(3408) | 评论(0) | 转发(1) |

总结

以上是生活随笔为你收集整理的linux 变量获取问题,有关read命令从管道输出读取变量参数的问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。