найти путь к каталогу в подкаталоге

Другие уже объяснили почему &; сбои. Я хотел t =o, указывают, что PID последнего фонового процесса сохраняется как $!. Можно, поэтому, всегда получать доступ к PID последней команды:

ssh targetHost & echo $!; fg

Что касается уничтожения их, можно уничтожить все ssh сессии с этой командой:

pkill -x ssh

x причины pkill и pgrep для соответствия полному названию команды это гарантирует, что Вы не уничтожите sshd или ssh-agent. Если Вы только хотите уничтожить соединения с определенной машиной, Вы могли бы также сделать это:

pkill $(pgrep -alx ssh | grep TARGET_IP | cut -d ' ' -f 1)
3
24.08.2015, 12:44
2 ответа

Используйте опцию -path для этого случая:

find / -type d  -path '*/aaa/bbb'

Из man-страницы для find:

Имя файла соответствует шаблону оболочки. Метасимволы не обрабатывают / или . специально; так, например,

find . -path "./sr*sc"

выведет запись для каталога `./src/misc' (если он существует).

Кросс-платформенная совместимость

Edit: Я только что заметил теги и .

Вы не указали, какую версию find вы используете, и приведенная выше информация относится к GNU find. Однако, на странице man также указано, что,

предикат -path также поддерживается HP-UX find и будет в ближайшей версии стандарта POSIX.

так что, похоже, -path можно использовать в HP-UX, но не в AIX (по крайней мере, не в AIX 7.1, последнем выпуске по состоянию на 2015-08-24).

5
27.01.2020, 21:16

/*/aaa не соответствует /aaa и это причина, по которой find не может найти /aaa/bbb

Если вам не нравится начинать find с / и если у вас нет последней версии find, например, портативного sfind, который поддерживает -path, вам нужен лучший список запуска вручную.

0
27.01.2020, 21:16

Теги

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