【问题标题】:read: A specified flag is not valid for this command读取:指定的标志对该命令无效
【发布时间】:2019-02-12 18:39:53
【问题描述】:

我在 HP-UX 机器中遇到此错误

    + IFS=; 
    /home/machine1/folder/borrado_de_logs.sh[45]: read: A specified flag is not valid for this command.

我正在使用这段代码

    head -1 $rutatemporal/logfechas.log > $rutatemporal/cabecera.txt
    cabecera=`cat $rutatemporal/cabecera.txt`
    IFS=';' read -a arreglo<<EOF
    $cabecera
    EOF

在 Hp-UX 中似乎不允许使用 read -a read 应该使用什么参数?

cabecera.txt 的内容是这样的:

2019-02-01;/home/user/deletelogs/somelog.log

【问题讨论】:

    标签: bash ifs


    【解决方案1】:

    这可能是因为-a is not a POSIX compliant flag 支持读取命令。因此,HP-UX 机器中可用的默认 shell支持它也就不足为奇了。

    您仍然可以在没有-a 的情况下使用read 命令来拆分和存储单个变量名称,如下所示。此外,您不需要 here-doc 从输入文件中读取,而是直接在文件本身上使用 read 命令

    IFS=\; read -r date path < "$rutatemporal"/cabecera.txt
    echo "$date"
    echo "$path"
    

    【讨论】:

      【解决方案2】:

      类型

      $ help read
      

      您可以看到可用的选项及其含义。

      【讨论】:

        猜你喜欢
        • 2016-10-20
        • 2013-10-04
        • 1970-01-01
        • 2020-12-04
        • 2017-07-08
        • 2012-06-21
        • 2017-06-14
        • 2021-06-02
        • 1970-01-01
        相关资源
        最近更新 更多