명령 뒤의 매개변수에 탭 완성 기능을 사용하면 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을 파일로 리디렉션하는 데 선호되는 구문입니다.
탭 완성은 ( >&
)를 다른 구문으로 처리하여 파일을 표시하지 않습니다.