Bash: 중첩된 명령에서 자동 완성

Bash: 중첩된 명령에서 자동 완성

저는 bash를 사용하고 있는데 중첩된 명령에 자동 완성을 구현하고 싶습니다. 예를 들어 다음을 입력합니다.

kill $(cat tmp/p|

다음에 <tab>생성됩니다

kill $(cat tmp/pids/

s<tab>)주소를 입력하고 싶어요

kill $(cat tmp/pids/server.pid)

안타깝게도 이 특별한 경우에는 내 bash 자동 완성이 작동하지 않습니다.

이 문제를 해결할 방법이 있나요?

이것은 내 bash 버전입니다.

GNU bash, version 4.4.23(1)-release (x86_64-apple-darwin17.5.0)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>

답변1

의 전체 설정을 사용해야 합니다 bash-completion. 명령 대체의 탭 완성이 작동하지 않습니다. 그러나 이러한 기능이 없어도 기본 설정으로는 제대로 작동합니다. 소스를 주석 처리하고 /usr/local/etc/bash_completion(버전 문자열이 주어지면 기본 홈브류로 가정) 새 셸을 시작한 후 다시 시도하세요.

답변2

파일에서 PID를 읽고 프로세스를 종료하려면 다음 명령을 사용하십시오.

pkill -F /path/to/file

관련 정보