>& 리디렉션에서 bash 탭 완성이 작동하지 않습니다.

>& 리디렉션에서 bash 탭 완성이 작동하지 않습니다.

명령 뒤의 매개변수에 탭 완성 기능을 사용하면 ls작동하지만, 일부 스크립트 매개변수 뒤에 사용하면(아래 두 번째 예 참조) 작동하지 않습니다. 탭 완성이 활성화되어 있는지 확인했습니다. 모든 명령을 탭 완성으로 실행하는 방법은 무엇입니까?

screen참고: 중요한 경우 세션(Ubuntu에서)에서 이것을 실행하고 있습니다.

user$ echo $SHELL
/bin/bash
user$ grep completion ~/.bashrc
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
user$ 
user$ ls test[TAB]
test.log1                                               
test.log2                                                
test.log4                                              
test.log5                                              

user$ ./script.sh >& test[TAB]  <-- "no output"

Bash 버전: GNU bash, 버전 4.3.11(1)-릴리스(x86_64-pc-linux-gnu)

답변1

동등한 것을 시도하십시오:

$ ./script.sh &> test[TAB]

이는 &>stdout 및 stderr을 파일로 리디렉션하는 데 선호되는 구문입니다.

탭 완성은 ( >&)를 다른 구문으로 처리하여 파일을 표시하지 않습니다.

관련 정보