用exec可以实现输入重定向,让shell脚本从文件中去读取消息而不是从键盘输入。比如:
#/bin/bash
exec 0< testfile
while read line;do
echo "$(date) line content: $line"
done
运行后输出:
关闭文件描述符2019年 12月 25日 星期三 20:53:21 CST line content: 2019年 12月 24日 星期二 22:59:03 CST
2019年 12月 25日 星期三 20:53:21 CST line content: wu lin wai zhuan
2019年 12月 25日 星期三 20:53:21 CST line content: 2019年 12月 24日 星期二 22:59:03 CST
关闭文件描述符也可用exec命令,如下例
#/bin/bash
exec 5> testfile
echo "fd 5 content" >&5
exec 5>&-
echo "fd 5 value" >&5
运行后,屏幕输出:
./test53.sh: 行 5: 5: 错误的文件描述符
这里第5行报错就是因为第四行的exec 5>&-把5号文件描述符关了
testfile的内容为:
fd 5 content
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved