Псевдоним отличается от ввода команды

у меня есть этот псевдоним, определенный

псевдоним ajclean 'find $ RF_TOP / -type f -name "* ~"; \

           find $RF_TOP/ -type f -name "*~" | sed "s/\/dpc/rm \/dpc/g" | bash; \

           echo;'

псевдоним ajgshow 'ajclean; \

           gshow;       '

ajclean: находит все временные файлы в каталоге, определенном путем $ RF_TOP. То есть в строке 1 печатаются все файлы в каталоге dir,

, например:

/dpc/dir1/dir2/file.txt~

/ dpc / dir1 / dir2 / file .txt ~

строка 2 затем передает следующую команду bash и, таким образом, выполняется как команда

rm /dpc/dir1/dir2/file.txt~

rm / dpc / dir1 / dir2 / file.txt ~

ajclean работает должным образом, а ajgshow - нет. Что происходит, так это то, что gshow начинает выполняться до завершения работы ajclean, и поэтому временные файлы все еще присутствуют при запуске gshow. ajclean завершает печать имен файлов и удаляет их, как только увидит вывод gshow. таким образом, "$> ajgshow; gshow" выдает выходные данные с временными файлами в разделе игнорируемых файлов: раздел gshow, а затем другой вывод с удаленными этими файлами.

Как исправить псевдоним ajgshow или псевдоним ajclean, чтобы гарантировать, что ajclean завершится в ajgshow перед запуском gshow.

пс: я использую redhat, если это актуально ...

-2
задан 26 June 2019 в 17:29

0 ответов

Другие вопросы по тегам:

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