난 당신이 옵션없이 실행하면 그 사용법을 설명하는 방법이 있습니다해킹 도움 스타일 정보
Usage:
SQLbatch [database] [file] [maximum # of lines in batch] [time to sleep between batches] [who to email when finished]
을 최근에, 나는 나의 여가 시간에 탭 완성 스크립트를 작성했습니다를 :
_SQLbatch()
{
local cur dbs
COMPREPLY=()
dbs=$(< /...directory paths.../allDbs.txt)
cur="${COMP_WORDS[COMP_CWORD]}"
case "$COMP_CWORD" in
1)
case "$cur" in
*@*)
COMPREPLY=($(compgen -W "$dbs" -- "$cur" | sed -e "s/.*@/@/"))
return 0
;;
*)
COMPREPLY=($(compgen -W "$dbs" -- "$cur"))
return 0
;;
esac
;;
2)
COMPREPLY=($(compgen -f -- "$cur"))
return 0
;;
*)
esac
}
complete -F _SQLbatch SQLbatch
지금까지는 적절한 데이터베이스와 파일로 첫 번째와 두 번째 항목을 완성하는 데 적합합니다. 그러나 필자는 파일을 두 번 탭하면 "사용"정보를 단순히 인쇄하는 방법을 추가하려고했습니다. 내가 콘솔에 이것을 넣어한다면, :.
: 나는 그들이 이미에 입력 한 내용을 파괴하지 않고 필요한 다른 어떤 사용자를 상기시켜 완성하고 싶습니다SQLbatch [email protected] file.txt [TAB][TAB]
내 최신 방법은 다음과 같이이었다
...
*)
echo -e "\nSQLbatch [database] [file] [maximum # of lines in batch] [time to sleep between batches] [who to email when finished]"
return 0
;;
esac
...
이 거의이지만 궁극적으로 최신 입력란에 사용자 입력을 다시 표시하지 못합니다. 이 마지막 단계를 완료하도록하는 방법이 있습니까?