bash如何读文本并保存到变量

bash如何读文本并保存到变量
对于‘读文本并保存到变量’这一问题,bash提供了很多办法。

假设有文件名为file1,内容为:

line 1
line 2
line 3

1.利用管道将cat的输出转化为read的输入
LINE="test"
cat file1 | while read LINE; do
    echo "son: ${LINE}"
done;
echo "father: ${LINE}"
缺点:使用管道的办法使得LINE变量只能在子进程里保存,无法在之后使用

2.使用文件句柄
exec 10<>file1
while read -u 10 LINE; do
    echo "while: ${LINE}"
done
echo "out: ${LINE}"
10<&-
使用文件句柄不受这个限制,不过语法有点变态

3.重定向
read LINE < file1
echo "line: ${LINE}"

4.命令代替
LINE=`cat file1`
echo "${LINE}"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章