このコマンドでファイルの最終更新日を取得しようとしています
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
し、同時に出力を変数に割り当てることができるでしょうか?