2012年4月8日星期日

shell 按行读取变量的值或者命令的输出

shell 中可以使用 while 按行读取一个文件,同时也可以使用 while 按行读取一个变量的值,或者一个命令的输出。方法有4种,分别是进程替换,管道,here document 和here string.

进程替换:  

#! /bin/bash
var=$(cat urfile)
echo "Process Substitution"
while read line
do
    echo "$line"
done < <(echo "$var")

管道:

#! /bin/bash
var=$(cat urfile)
echo "Pipe"
echo "$var" | while read line
do
    echo "$line"
done

here document:

#! /bin/bash
var=$(cat urfile)
echo "Here Document"
while read line
do
    echo "$line"
done <<EOF
$var
EOF


here string:

#! /bin/bash
var=$(cat urfile)
echo "Here String"
while read line
do
    echo "$line"
done <<< "$var"

没有评论:

发表评论