Bash 스크립트에 탭 완성 추가

Bash 스크립트에 탭 완성 추가

파일에 대한 일부 처리를 수행하는 스크립트를 만들고 있습니다. 파일의 경우 현재 디렉터리에서 파일을 선택하거나 파일 경로를 제공합니다.

문제는 파일 이름이 클 수 있으므로 파일 이름을 모두 입력하는 것이 어려울 수 있다는 것입니다.

echo "Enter file name"
read FILE

위의 코드는 내가 하려는 일을 보여줍니다. 이 스크립트를 실행할 때 파일 이름을 한 글자씩 입력해야 하는데 이는 엄청난 고통이 될 것입니다. 를 눌러 터미널 애플리케이션과 같은 제안을 받고 싶습니다 Tab.

나는 이런 것을 원한다이 같은Tab파일명을 쓰는 동안 누르면 표시됩니다. 이 목표를 어떻게 달성할 수 있나요?

답변1

다음과 같이 입력 파일 이름을 읽을 수 있습니다.

#!/bin/bash
read -e -p "Enter filename: " f
printf "filename: %s\n" "$f"

read -ereadline이미 탭 완성 기능이 있는 경로를 사용하세요 . read --help그리고 man readline그들에 대한 자세한 정보.

관련 정보