Centos7
在 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}')
然後按預期工作 - 就像最終命令在其餘部分完成之前執行一樣。我可以在這裡做些什麼來強制這些命令以預期的順序執行嗎?
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}