Я пытаюсь получить дату последнего изменения файла с помощью этой команды
TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'`
TM_LOCAL имеет значение типа «2012-05-16 23:18» после выполнения этой строки
Я также хотел бы проверить PIPESTATUS, чтобы увидеть, если была ошибка. Например, если файл не существует, ls
возвращает 2. Но $?
имеет значение 0, поскольку имеет возвращаемое значение awk
.
Если я запускаю эту команду в одиночку, я могу проверить возвращаемое значение ls, посмотрев на ${PIPESTATUS[0]}
ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'
Но $PIPESTATUS
не работает так, как я ожидал, если назначить вывод переменной, как в первом примере. В этом случае массив $PIPESTATUS
имеет только 1 элемент, который совпадает с $?
Итак, вопрос в том, как я могу получить и $PIPESTATUS
и назначить вывод переменной одновременно?