| _ipcrm_module() |
| { |
| local cur prev OPTS KEYIDS |
| COMPREPLY=() |
| cur="${COMP_WORDS[COMP_CWORD]}" |
| prev="${COMP_WORDS[COMP_CWORD-1]}" |
| case $prev in |
| '-m'|'--shmem-id') |
| KEYIDS="$(ipcs -m | awk '{if (3 < NR) {print $2}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-M'|'--shmem-key') |
| KEYIDS="$(ipcs -m | awk '{if (3 < NR) {print $1}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-q'|'--queue-id') |
| KEYIDS="$(ipcs -q | awk '{if (3 < NR) {print $2}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-Q'|'--queue-key') |
| KEYIDS="$(ipcs -q | awk '{if (3 < NR) {print $1}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-s'|'--semaphore-id') |
| KEYIDS="$(ipcs -s | awk '{if (3 < NR) {print $2}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-S'|'--semaphore-key') |
| KEYIDS="$(ipcs -s | awk '{if (3 < NR) {print $1}}')" |
| COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) ) |
| return 0 |
| ;; |
| '-h'|'--help'|'-V'|'--version') |
| return 0 |
| ;; |
| esac |
| case $cur in |
| '=') |
| cur=${cur#=} |
| COMPREPLY=( $(compgen -W "shm msg sem" -- $cur) ) |
| return 0 |
| ;; |
| esac |
| OPTS=" --shmem-id |
| --shmem-key |
| --queue-id |
| --queue-key |
| --semaphore-id |
| --semaphore-key |
| --all= |
| --verbose |
| --help |
| --version" |
| COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) |
| return 0 |
| } |
| complete -F _ipcrm_module ipcrm |