读取:指定的标志对此命令无效

时间:2019-02-12 18:39:53

标签: bash ifs

我在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应该使用什么参数?

cabecaera.txt的内容是这样的:

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

2 个答案:

答案 0 :(得分:3)

可能是因为-a is not a POSIX compliant flag支持read命令。因此,HP-UX计算机中可用的默认外壳不支持它就不足为奇了。

您仍然可以使用read命令而不使用-a来分割和存储各个变量名,如下所示。另外,您不需要此处文档即可读取输入文件,而可以直接在文件本身上使用read命令

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

答案 1 :(得分:0)

类型

$ help read

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