linux – 如何在bash脚本中使用文件描述符3中的“read”读取?

前端之家收集整理的这篇文章主要介绍了linux – 如何在bash脚本中使用文件描述符3中的“read”读取?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
http://bash.cyberciti.biz/file-management/shell-script-to-simulate-unix-more-command/
#!/bin/bash
# Write a shell script like a more command. It asks the user name,the
# name of the file on command prompt and displays only the 15 lines of
# the file at a time.
# -------------------------------------------------------------------------
# Copyright (c) 2007 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------

counter=1
echo -n "Enter a file name : "
read file

if  [ ! -f $file ]
then
    echo "$file not a file!"
    exit 1
fi

# read file line by line
exec 3<&0
while read line
do
       # pause at line no. 15
    if [ $counter -eq 15 ]
    then
        counter=0 # reset counter
        echo " *** Press [Enter] key to continue ..."
        read -u 3 enterKey
    fi
    echo $line
    (( counter++ ))
done < $file

这模拟了更多命令..
我收到这个错误..

read: 26: Illegal option -u

确保输入超过15行的文件名称..
另外我读了“阅读”的手册页,我没有得到像“-u”这样的选项..

那么,我如何使用文件描述符3(它是stdin的副本)中的“read”来读取.

解决方法

尝试
read key <&3

猜你在找的Linux相关文章