summaryrefslogtreecommitdiffstats
path: root/sbin/sunhpc-completion-backup
diff options
context:
space:
mode:
authorxiubuzhe <xiubuzhe@sina.com>2023-10-15 03:40:31 +0800
committerxiubuzhe <xiubuzhe@sina.com>2023-10-15 03:40:31 +0800
commit98fae3427e6791003e64572a2a6ca317c72473ef (patch)
tree38a109b70b029beb9b4bec71206762126e43dacb /sbin/sunhpc-completion-backup
parent4e3722353878da15ea9017190b462a3883ecc2d2 (diff)
downloadsunhpc-98fae3427e6791003e64572a2a6ca317c72473ef.tar.gz
sunhpc-98fae3427e6791003e64572a2a6ca317c72473ef.tar.bz2
sunhpc-98fae3427e6791003e64572a2a6ca317c72473ef.zip
add bash-completion in /sbin/sunhpc-compxxxx-bak
Diffstat (limited to 'sbin/sunhpc-completion-backup')
-rw-r--r--sbin/sunhpc-completion-backup198
1 files changed, 198 insertions, 0 deletions
diff --git a/sbin/sunhpc-completion-backup b/sbin/sunhpc-completion-backup
new file mode 100644
index 0000000..82752d6
--- /dev/null
+++ b/sbin/sunhpc-completion-backup
@@ -0,0 +1,198 @@
+#/usr/bin/env bash
+_sunhpc()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ COMPREPLY=()
+ _get_comp_words_by_ref -n : cur prev words
+
+ # Command data: Main commands
+ cmds='add build check create database list pxelinux repair report run set soft'
+
+ # sunhpc add commands
+ cmds_add='host security'
+ cmds_add_host='interface security cpus= membership= os= rack= rank= help'
+ cmds_add_host_interface='ip= mac= name= subnet= help'
+ cmds_add_host_security='force= help'
+ cmds_add_security='force= help'
+
+
+ # sunhpc build commands
+ cmds_build='init initializes'
+ cmds_build_init='help'
+ cmds_build_initializes='help'
+
+
+ # sunhpc check commands
+ cmds_check='services help'
+ cmds_check_services='help'
+
+ # sunhpc create commands
+ cmds_create='distro pxelinux repos roll rpm security xml help'
+ cmds_create_distro='arch= dist= md5= rolls= root= version= help'
+
+ # sunhpc create pxelinux commands
+ cmds_create_pxelinux='client efiboot kickstart product squashfs updates vminitrd'
+ cmds_create_pxelinux_client='basedir= outdir= version= help'
+ cmds_create_pxelinux_efiboot='basedir= outdir= cdrom= version= help'
+ cmds_create_pxelinux_kickstart='basedir= outdir= version= help'
+ cmds_create_pxelinux_product='basedir= outdir= version= help'
+ cmds_create_pxelinux_squashfs='basedir= outdir= cdrom= version= help'
+ cmds_create_pxelinux_updates='basedir= outdir= cdrom= version= help'
+ cmds_create_pxelinux_vminitrd='basedir= outdir= cdrom= version= help'
+
+ # sunhpc create repos commands
+ cmds_create_repos='file= gpk= web= help'
+
+ # sunhpc create roll commands
+ cmds_create_roll='boot= sign= help'
+
+ # sunhpc create rpm commands
+ cmds_create_rpm='arch= name= outdir= prefix= release= source= spec= version= help'
+
+ # sunhpc create security commands
+ cmds_create_security='sshd users keyname= force= help'
+ cmds_create_security_sshd='help'
+ cmds_create_security_users=' safedir= help'
+
+ # sunhpc create xml commands
+ cmds_create_xml=' arch= bin= boot= flag= name= os= release= rolls= src= version= help'
+
+ # sunhpc database commands
+ cmds_database='init help'
+ cmds_database_init='help'
+
+ # sunhpc list commands
+ cmds_list='host license help'
+ cmds_list_host='interface help'
+ cmds_list_host_interface='help'
+ cmds_list_license='help'
+
+ # sunhpc pxelinux commands
+ cmds_pxelinux='build help'
+ cmds_pxelinux_build='autofs dhcpd httpd nodes tftpd clean= iso= mnt= pxesrv= help'
+ cmds_pxelinux_build_autofs='quiet= help'
+ cmds_pxelinux_build_dhcpd='quiet= help'
+ cmds_pxelinux_build_httpd='pxedir= quiet= help'
+ cmds_pxelinux_build_nodes='quiet= help'
+ cmds_pxelinux_build_tftpd='pxedir= quiet= help'
+
+ # sunhpc repair commands
+ cmds_repair='permission users help'
+ cmds_repair_permission='help'
+ cmds_repair_users='authorized help'
+ cmds_repair_users_authorized='all= help'
+
+ # sunhpc report commands
+ cmds_report='distro host kickstart knownhosts nextip yumrepos help'
+ cmds_report_distro='help'
+ cmds_report_host='attr dhcpd help'
+ cmds_report_host_attr='attr= pydict= help'
+ cmds_report_host_dhcpd='help'
+ cmds_report_kickstart='help'
+ cmds_report_knownhosts='help'
+ cmds_report_nextip='baseip= increment= help'
+ cmds_report_yumrepos='proto= url= help'
+
+ # sunhpc run commands
+ cmds_run='host help'
+ cmds_run_host='collate= command= delay= managed= num-threads= stats= timeout= x11= help'
+
+ # sunhpc set commands
+ cmds_set='grub host help'
+ cmds_set_grub='default= help'
+ cmds_set_host='boot cpus interface help'
+ cmds_set_host_boot='action= help'
+ cmds_set_host_cpus='cpus= help'
+ cmds_set_host_interface='iface ip mac name subnet help'
+ cmds_set_host_interface_iface='iface= mac= help'
+ cmds_set_host_interface_ip='iface= ip= help'
+ cmds_set_host_interface_mac='iface= mac= help'
+ cmds_set_host_interface_name='iface= name= help'
+ cmds_set_host_interface_subnet='iface= subnet= help'
+
+ # sunhpc soft commands
+ cmds_soft='autodock cmake gaussian gromacs mpi ntfs nvidia openmpi schrodinger help'
+ cmds_soft_autodock='envs= prefix= source= help'
+ cmds_soft_cmake='envs= prefix= source= help'
+ cmds_soft_gaussian='envs= prefix= source= help'
+ cmds_soft_gromacs='envs= prefix= source= help'
+ cmds_soft_mpi='envs= prefix= source= help'
+ cmds_soft_ntfs='envs= prefix= source= help'
+ cmds_soft_nvidia='envs= prefix= source= help'
+ cmds_soft_openmpi='envs= prefix= source= help'
+ cmds_soft_schrodinger='envs= prefix= source= help'
+
+ # sunhpc sync commands
+ cmds_sync='config users help'
+ cmds_sync_config='help'
+ cmds_sync_users='help'
+
+ # sunhpc help commands.
+ cmds_help='help'
+
+
+ cmd=""
+ words[0]=""
+ completed="${cmds}"
+
+ for var in "${words[@]:1}"
+ do
+ if [[ ${var} == -* ]] ; then
+ break
+ fi
+
+ if [ -z "${cmd}" ] ; then
+ proposed="${var}"
+ else
+ proposed="${cmd}_${var}"
+ fi
+
+ local i="cmds_${proposed}"
+ local comp="${!i}"
+ if [ -z "${comp}" ] ; then
+ break
+ fi
+
+ if [[ ${comp} == -* ]] ; then
+ if [[ ${cur} != -* ]] ; then
+ completed=""
+ break
+ fi
+ fi
+
+ cmd="${proposed}"
+ completed="${comp}"
+ done
+
+ if [ -z "${completed}" ] ; then
+ COMPREPLY=( $(compgen -f -- "$cur" ) $( compgen -d -- "$cur" ) )
+ else
+ COMPREPLY=( $(compgen -W "${completed}" -- "${cur}") )
+ fi
+
+ # do not append a space to words that end with =
+ #[[ $COMPREPLY == *= ]] && compopt -o nospace
+ [[ $COMPREPLY == *= ]] && compopt -o nospace || compopt -o dirnames
+
+ #_available_interfaces
+
+} &&
+complete -F _sunhpc sunhpc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+