读命令将错误显示为非法选项

时间:2018-01-06 05:49:12

标签: bash shell

以下是我的代码

Read file
Count=0
While read -n1 c
           Do
           Case $c in
            .
            .
            .
            .
            Esac
 Done < $file
 Echo"$count"

当我运行此代码时,它将错误显示为

  

读:非法选项-n

我刚开始学习shell编程。所以请帮我修复这段代码

1 个答案:

答案 0 :(得分:1)

-n不适用于标准Unix read中的sh及其变体(<某些)。

read -n在bash,zsh和ksh93上运行良好,因此您可能希望选择其中一个而不是shdash(Debian sh),可能是添加一个shebang线:

#! /bin/bash

或使用bash明确运行:

bash foo.sh