mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 21:44:11 +01:00
94 lines
3.4 KiB
Plaintext
94 lines
3.4 KiB
Plaintext
#compdef smbcontrol smbclient nmblookup smbstatus
|
|
|
|
local expl msgs args
|
|
|
|
case $service in
|
|
smbcontrol)
|
|
case $CURRENT in
|
|
3)
|
|
msgs=( debug ping profile debuglevel profilelevel )
|
|
case $words[CURRENT-1] in
|
|
nmbd) msgs=( $msgs force-election ) ;;
|
|
smbd) msgs=( $msgs printer-notify ) ;;
|
|
-i) return 1 ;;
|
|
esac
|
|
_wanted message-type expl 'message types' compadd -a msgs
|
|
;;
|
|
4)
|
|
case $words[CURRENT-1] in
|
|
profile)
|
|
_wanted parameter expl 'parameter' compadd on off flush count
|
|
;;
|
|
debug) _message -e levels 'debug level' ;;
|
|
ping) _message -e numbers 'number of ping messages' ;;
|
|
esac
|
|
;;
|
|
*)
|
|
_arguments \
|
|
'-i[run interactively]' \
|
|
':destination:(nmbd smbd)'
|
|
;;
|
|
esac
|
|
;;
|
|
smbclient)
|
|
args=(
|
|
'(-N -A)2:password'
|
|
'(2)-s+[specify location of smb.conf]:smb.conf location:_files'
|
|
'(2)-O+[specify socket options]:socket options'
|
|
'(2)-R+[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast'
|
|
'(2 -L -D -T)-M+[send message]:host:_hosts'
|
|
'(2)-i+[specify NetBIOS scope]:scope'
|
|
'(2)-N[suppress password prompt]'
|
|
'(2)-n+[specify local NetBIOS name]:local machine name'
|
|
'(2)-d+[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)'
|
|
'(2)-p+[specify tcp port]:tcp port'
|
|
'(2)-l+[specify base log filename]:base log filename'
|
|
'(2)-I+[specify IP address of server]:IP address'
|
|
'(2)-E[output messages to stderr]'
|
|
'(2)-U+[specify username]:username:_users'
|
|
'(2)-A+[specify file containing username/password]:file:_files'
|
|
'(2 -M -D -T)-L+[list services on server]:host:_hosts'
|
|
'(2)-t+[specify terminal code]:terminal code'
|
|
'(2)-b+[specify buffersize]:transmit/send buffer size (bytes)'
|
|
'(2)-W+[specify workgroup]:workgroup'
|
|
'(2 -M -L)-T+[specify tar options]:tar options'
|
|
'(2 -M -L)-D+[initial directory]:initial directory'
|
|
'(2)-c[specify commands]:command string'
|
|
)
|
|
if (( CURRENT == 2 )); then
|
|
args=( $args
|
|
'1:service name:_hosts -P // -S /'
|
|
'(-s -O -R -M -i -N -n -d -p -l -I -E -U -A -L -t -b -W -T -D -c)-h[display usage information]'
|
|
)
|
|
fi
|
|
_arguments -s "$args[@]"
|
|
;;
|
|
nmblookup)
|
|
_arguments -s -A "-*" \
|
|
'(-h)-R[set recursion desired in packet]' \
|
|
'(-h)-M[search for a master browser]' \
|
|
'(-h)-S[lookup node status as well]' \
|
|
'(-h)-T[perform reverse DNS on IP addresses]' \
|
|
'(-h)-r[use root port 137]' \
|
|
'(-h)-A[query node status on IP address]' \
|
|
'(-R -M -S -T -r -A -B -U -d -s -i *)-h[print help message]' \
|
|
'(-h)-B+[specify broadcast address]:broadcast address' \
|
|
'(-h)-U+[specify unicast address]:unicast address' \
|
|
'(-h)-d+[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \
|
|
'(-h)-s+[specify location of smb.conf]:smb.conf location:_files' \
|
|
'(-h)-i+[specify NetBIOS scope]:scope' \
|
|
'(-h)*:NetBIOS name:_hosts'
|
|
;;
|
|
smbstatus)
|
|
args='(-b -d -L -p -S)'
|
|
_arguments -s \
|
|
"$args-b[brief output]" \
|
|
"$args-d[detailed output]" \
|
|
"$args-L[list only locks]" \
|
|
"$args-p[list smbd(8) processes]" \
|
|
"$args-S[list only shares]" \
|
|
'-s+[specify location of smb.conf]:smb.conf location:_files' \
|
|
'-u+[specify user to restrict information to]:user:_users'
|
|
;;
|
|
esac
|