прочитано: указанный флаг недопустим для этой команды - PullRequest
0 голосов
/ 12 февраля 2019

Я получаю эту ошибку на компьютере 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

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Введите

$ help read

, и вы увидите доступные опции и их значение.

0 голосов
/ 12 февраля 2019

Вероятно, это связано с тем, что -a не поддерживает флаг POSIX для команды чтения.Поэтому неудивительно, что оболочка по умолчанию, доступная на вашем компьютере HP-UX, не поддерживает ее.

Вы можете использовать команду read без -a для разделения и сохраненияна отдельных именах переменных, как показано ниже.Также вам не нужен here-doc для чтения из входного файла, а используйте команду read непосредственно для самого файла

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