home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / etc / bash_completion.d / samba < prev    next >
Encoding:
Text File  |  2010-11-16  |  6.3 KB  |  299 lines

  1. # bash completion for samba
  2.  
  3. have smbclient && {
  4. _samba_resolve_order()
  5. {
  6.     COMPREPLY=( $( compgen -W 'lmhosts host wins bcast' -- "$cur" ) )
  7. }
  8.  
  9. _samba_domains()
  10. {
  11.     if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
  12.         COMPREPLY=( $( compgen -W '$( smbtree -N -D )' -- "$cur" ) )
  13.     fi
  14. }
  15.  
  16. _samba_hosts()
  17. {
  18.     if [ -n "${COMP_SAMBA_SCAN:-}" ]; then
  19.         COMPREPLY=( $( compgen -W "$( smbtree -N -S | \
  20.             sed -ne 's/^[[:space:]]*\\\\*\([^[:space:]]*\).*/\1/p' \
  21.             )" -- $cur ) )
  22.     fi
  23. }
  24.  
  25. _samba_debuglevel()
  26. {
  27.     COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9 10' -- "$cur" ) )
  28. }
  29.  
  30. _smbclient()
  31. {
  32.     local cur prev split=false
  33.  
  34.     COMPREPLY=()
  35.     _get_comp_words_by_ref cur prev
  36.  
  37.     _split_longopt && split=true
  38.  
  39.     case $prev in
  40.         -R)
  41.             _samba_resolve_order
  42.             return 0;
  43.             ;;
  44.         -t)
  45.             COMPREPLY=( $( compgen -W 'SJIS EUC JIS7 JIS8 JUNET HEX CAP' \
  46.                 -- "$cur" ) )
  47.             return 0;
  48.             ;;
  49.         -s|-A|--authentication-file)
  50.             _filedir
  51.             return 0;
  52.             ;;
  53.         -l|--log-basename|-D)
  54.             _filedir -d
  55.             return 0;
  56.             ;;
  57.         -O)
  58.             COMPREPLY=( $( compgen -W 'SO_KEEPALIVE SO_REUSEADDR \
  59.                 SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
  60.                 IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF \
  61.                 SO_SNDLOWAT SO_RCVLOWAT' -- "$cur" ) )
  62.             return 0;
  63.             ;;
  64.         -T)
  65.             COMPREPLY=( $( compgen -W 'c x I X F b g q r N a' -- "$cur" ) )
  66.             return 0;
  67.             ;;
  68.         -W|--workgroup)
  69.             _samba_domains
  70.             return 0;
  71.             ;;
  72.         -d|--debuglevel)
  73.             _samba_debuglevel
  74.             return 0
  75.             ;;
  76.         -p|--port|-M|-I|-b|-U|--user|-n|-i|-T|-c)
  77.             # argument required but no completions available
  78.             return 0
  79.             ;;
  80.         -\?|--help|-V|--version)
  81.             # all other arguments are noop with these
  82.             return 0
  83.             ;;
  84.     esac
  85.  
  86.     $split && return 0
  87.  
  88.     if [[ "$cur" == -* ]]; then
  89.         COMPREPLY=( $( compgen -W '-b -d -L -U -I -M -m -A -N -i -O \
  90.             -p -R -s -k -P -c -D -W -l -E --debuglevel \
  91.             --log-basename --workgroup' -- "$cur" ) )
  92.     fi
  93. }
  94. complete -F _smbclient smbclient
  95.  
  96. _smbget()
  97. {
  98.     local cur prev split=false
  99.  
  100.     COMPREPLY=()
  101.     _get_comp_words_by_ref cur prev
  102.  
  103.     _split_longopt && split=true
  104.  
  105.     case $prev in
  106.         -o|-f|--outputfile|--rcfile)
  107.             _filedir
  108.             return 0;
  109.             ;;
  110.         -d|--debuglevel)
  111.             _samba_debuglevel
  112.             return 0
  113.             ;;
  114.     esac
  115.  
  116.     $split && return 0
  117.  
  118.     if [[ "$cur" == -* ]]; then
  119.         COMPREPLY=( $( compgen -W '-a --guest -r --resume -R --recursive -u \
  120.             --username -p --password -w --workgroup -n --nonprompt -d \
  121.             --debuglevel -D --dots -P --keep-permissions -o --outputfile -f \
  122.             --rcfile -q --quiet -v --verbose -b --blocksize -? --help --usage' \
  123.             -- "$cur" ) )
  124.     fi
  125. }
  126. complete -F _smbget smbget
  127.  
  128. _smbcacls()
  129. {
  130.     local cur prev split=false
  131.  
  132.     COMPREPLY=()
  133.     _get_comp_words_by_ref cur prev
  134.  
  135.     _split_longopt && split=true
  136.  
  137.     case $prev in
  138.         -s)
  139.             _filedir
  140.             return 0;
  141.             ;;
  142.         -l|--log-basename)
  143.             _filedir -d
  144.             return 0;
  145.             ;;
  146.         -d|--debuglevel)
  147.             _samba_debuglevel
  148.             return 0
  149.             ;;
  150.     esac
  151.  
  152.     $split && return 0
  153.  
  154.     if [[ "$cur" == -* ]]; then
  155.         COMPREPLY=( $( compgen -W '-a -M -D -S -U -C -G --numeric -t \
  156.             -h --help -V -s -d --debuglevel -l --log-basename' -- "$cur" ) )
  157.     fi
  158. }
  159. complete -F _smbcacls smbcacls
  160.  
  161. _smbcquotas()
  162. {
  163.     local cur prev split=false
  164.  
  165.     COMPREPLY=()
  166.     _get_comp_words_by_ref cur prev
  167.  
  168.     _split_longopt && split=true
  169.  
  170.     case $prev in
  171.         -s|-A|--authentication-file)
  172.             _filedir
  173.             return 0;
  174.             ;;
  175.         -l|--log-basename)
  176.             _filedir -d
  177.             return 0;
  178.             ;;
  179.         -d|--debuglevel)
  180.             _samba_debuglevel
  181.             return 0
  182.             ;;
  183.     esac
  184.  
  185.     $split && return 0
  186.  
  187.     if [[ "$cur" == -* ]]; then
  188.         COMPREPLY=( $( compgen -W '-u -L -F -S -n -t -v -h --help -V \
  189.             -s --debuglevel --log-basename -N -k \
  190.             --authentication-file --user' -- "$cur" ) )
  191.     fi
  192. }
  193. complete -F _smbcquotas smbcquotas
  194.  
  195. _smbpasswd()
  196. {
  197.     local cur prev
  198.  
  199.     COMPREPLY=()
  200.     _get_comp_words_by_ref cur prev
  201.  
  202.     case $prev in
  203.         -r)
  204.             _samba_hosts
  205.             return 0;
  206.             ;;
  207.         -R)
  208.             _samba_resolve_order
  209.             return 0;
  210.             ;;
  211.         -c)
  212.             _filedir
  213.             return 0;
  214.             ;;
  215.         -D)
  216.             _samba_debuglevel
  217.             return 0
  218.             ;;
  219.     esac
  220.  
  221.     if [[ "$cur" == -* ]]; then
  222.         COMPREPLY=( $( compgen -W '-a -c -x -d -e -D -n -r -R -m -U -h \
  223.             -s -w -W -i -L' -- "$cur" ) )
  224.     fi
  225. }
  226. complete -F _smbpasswd smbpasswd
  227.  
  228. _smbtar()
  229. {
  230.     local cur prev
  231.  
  232.     COMPREPLY=()
  233.     _get_comp_words_by_ref cur prev
  234.  
  235.     case $prev in
  236.         -r|-t)
  237.             _filedir tar
  238.             return 0;
  239.             ;;
  240.         -s)
  241.             _samba_hosts
  242.             return 0;
  243.             ;;
  244.         -l)
  245.             _samba_debuglevel
  246.             return 0
  247.             ;;
  248.     esac
  249.  
  250.     if [[ "$cur" == -* ]]; then
  251.         COMPREPLY=( $( compgen -W '-r -i -a -v -s -p -x -X -N -b -d -l -u -t' \
  252.             -- "$cur" ) )
  253.     fi
  254. }
  255. complete -F _smbtar smbtar
  256.  
  257. _smbtree()
  258. {
  259.     local cur prev split=false
  260.  
  261.     COMPREPLY=()
  262.     _get_comp_words_by_ref cur prev
  263.  
  264.     _split_longopt && split=true
  265.  
  266.     case $prev in
  267.         -s|-A|--authentication-file)
  268.             _filedir
  269.             return 0;
  270.             ;;
  271.         -l|--log-basename)
  272.             _filedir -d
  273.             return 0;
  274.             ;;
  275.         -d|--debuglevel)
  276.             _samba_debuglevel
  277.             return 0
  278.             ;;
  279.     esac
  280.  
  281.     $split && return 0
  282.  
  283.     if [[ "$cur" == -* ]]; then
  284.         COMPREPLY=( $( compgen -W '-b -D -S -V -s -d --debuglevel -l \
  285.             --log-basename -N -k -A --authentication-file -U --user\
  286.             -h --help' -- "$cur" ) )
  287.     fi
  288. }
  289. complete -F _smbtree smbtree
  290. }
  291.  
  292. # Local variables:
  293. # mode: shell-script
  294. # sh-basic-offset: 4
  295. # sh-indent-comment: t
  296. # indent-tabs-mode: nil
  297. # End:
  298. # ex: ts=4 sw=4 et filetype=sh
  299.