我有以下命令,它作为通过 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}')
然后按预期工作 - 就像最终命令在其余部分完成之前运行一样。
我可以在这里做些什么来强制这些命令以预期的顺序运行吗?
echo $() 基本上是无操作的。尝试