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命令从管道输出读取变量参数的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux驱动 打印变量,linux驱动
- 下一篇: 启动系统检测不到硬盘怎么办 系统无法检测