주어진 경로에서 첫 번째 수준(깊이 1) 파일만 완료하고 디렉터리를 무시하면 됩니다. 을 지정해 보았 -g '*(.)'
으나 효과가 없는 것 같습니다.
#compdef foo
local state
_arguments -S : \
'-i' \
'-l' \
'-w' \
'1: :->myfiles'
case $state in
myfiles)
_files -W /foo/bar -g '*(.)'
;;
esac
여전히 파일과 디렉터리가 표시됩니다.
첫 번째 수준 파일만 표시하는 방법은 무엇입니까? 나는 이 디렉토리의 더 깊은 파일에는 관심이 없습니다.
답변1
_arguments -S : \
'-i' \
'-l' \
'-w' \
'1: :{
_wanted all-files expl descriptiongoeshere compadd - /foo/bar/*(^/:t)
}'