Centos 6 上不遵守命令顺序,Centos 7 上不存在命令顺序

Centos 6 上不遵守命令顺序,Centos 7 上不存在命令顺序

我有以下命令,该命令作为通过 ssh 连接在远程机器上执行的脚本的一部分执行:

cd /var/spool/some_directory ; tar -cf file_name.tar file_1.txt file_2.txt file_3.txt ; echo $(du -m -- file_name.tar | awk '{print $1}')

我有 Centos 7.6 机器,执行起来很完美。但是我也有旧版 Centos 6.7 机器,遇到以下错误:

du: cannot access `file_name.tar': No such file or directory
tar: echo: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

当我 ls 目录时,我确实看到生成了预期的 file_name.tar 文件。echo $(du -m -- file_name.tar | awk '{print $1}')独立于上述命令运行后,一切按预期进行 - 就像最后一个命令在其余命令完成之前运行一样。

我可以做些什么来强制这些命令按照预期的顺序运行?

答案1

echo $() 基本上是一个无操作。尝试

cd /var/spool/some_directory ; tar -cf file_name.tar file_1.txt file_2.txt file_3.txt ; du -m -- file_name.tar | awk '{print $1}

相关内容