我正在尝试使用此命令获取文件的最后修改日期
TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'`
Run Code Online (Sandbox Code Playgroud)
执行此行后,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 }'
Run Code Online (Sandbox Code Playgroud)
但是$PIPESTATUS,如果我将输出分配给第一个示例中的变量,则不会像我预期的那样工作。在这种情况下,$PIPESTATUS数组只有 1 个元素,与$?
所以,问题是,我怎样才能同时获得两者$PIPESTATUS并将输出分配给一个变量?