Порядок команд не соблюдается на 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

Когда я открываю каталог, я вижу, что сгенерирован ожидаемый файл file_name.tar.Выполнение echo $ (du -m - file_name.tar | awk '{print $ 1}') независимо от приведенной выше команды работает должным образом - это похоже на то, что последняя команда выполняется раньше, чем остальная часть завершено.

Могу ли я что-нибудь сделать, чтобы заставить эти команды выполняться в ожидаемом порядке?

1
задан 6 October 2020 в 15:01
1 ответ

Эхо $() в основном не работает. Попробуйте

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}
1
ответ дан 6 October 2020 в 12:51

Теги

Похожие вопросы