0

我有以下脚本代码:

测试.sh

echo "BEGIN"
while read CMD <&1; do
    [ -z "$CMD" ] && continue
    case "$CMD" in
    start)
            echo "get_start"
            ;;
    stop)
            echo "get_stop"
            ;;
    *)
            echo "get_uknown_command"
            ;;
    esac
    echo "END";
done

当我运行它时:

$./test.sh <input.txt

我的脚本被锁定

输入.txt

start
stop
sthh

为什么我的脚本被锁定?我该如何解决?

顺便说一句:如果我手动输入数据,那么脚本将不会锁定。

4

1 回答 1

3

你需要什么<&1?删除它,它可以工作。

while read CMD; do

./test.sh  < input.txt 
BEGIN
get_start
END
get_stop
END
get_uknown_command
END
于 2013-07-12T10:56:15.380 回答