Я намагаюся отримати останню дату модифікації файлу з цією командою
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
та призначити вихідну змінну одночасно?