Я заключил команду kill -9 $ (ps -ef | awk "/ service_name / {print \ $ 2}")
в символ '' ' и запустил его с помощью моей утилиты, и это сработало как шарм. Итак, вот последняя команда:
`kill -9 $(ps -ef | awk "/service_name/{print \$2}")`
То, что вы на самом деле пытаетесь сделать , похоронено в комментарии к другому ответу . tar
, очевидно, не является обязательным условием, как и сжатие на самом деле.
Вот как это сделать с pax
.
Чтобы создать сжатый архив tar1 / *
(но без префикса tar1 /
) в tar2 / tar1.tar.gz
:
( cd tar1/ && pax -z -w * > ../tar2/tar1.tar.gz )
Чтобы скопировать всю иерархию напрямую из tar1 /
в tar2 /
без промежуточного архива и с сохранением всего :
( cd tar1/ && pax -p e -r -w * ../tar2/ )
Обратите внимание, что оболочка не будет конечно, включать точечные файлы в расширение *
. Постарайтесь справиться с этим обычными способами, если это окажется проблемой.
Вы не указываете архив в своих утверждениях. Это должно выглядеть примерно так:
tar -cvf tar2/tar1.tar tar1/
Это помещает tarball tar1.tar
в каталог tar2/
.
Before:
tree tar*
tar1
├── a.txt
└── b.txt
tar2
├── a.txt
└── b.txt
0 directories, 4 files
After:
tar -cvf tar2/tar1.tar tar1/
tar1/
tar1/a.txt
tar1/b.txt
tree tar*
tar1
├── a.txt
└── b.txt
tar2
├── a.txt
├── b.txt
└── tar1.tar
0 directories, 5 files
Environment:
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie