Próbuję uzyskać datę ostatniej modyfikacji pliku za pomocą tego polecenia
TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'`
TM_LOCAL ma wartość „2012-05-16 23:18” po wykonaniu tego wiersza
Chciałbym również sprawdzić PIPESTATUS, aby zobaczyć, czy wystąpił błąd. Na przykład, jeśli plik nie istnieje, ls
zwraca 2. Ale $?
ma wartość 0, ponieważ ma wartość zwracaną awk
.
Jeśli uruchomię to polecenie sam, mogę sprawdzić zwracaną wartość ls, patrząc na ${PIPESTATUS[0]}
ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'
Ale $PIPESTATUS
nie działa tak, jak się spodziewałem, jeśli przypiszę wynik do zmiennej, tak jak w pierwszym przykładzie. W tym przypadku $PIPESTATUS
tablica ma tylko 1 element, który jest taki sam jak$?
Pytanie brzmi: w jaki sposób mogę uzyskać oba $PIPESTATUS
i jednocześnie przypisać dane wyjściowe do zmiennej?