1 | ls
|
---|
2 | [0m[01;31momf-common-5.2_ubuntu2_all.deb[0m
|
---|
3 | [m]0;root@node1-1.sb9.orbit-lab.org: ~root@node1-1:~# Write failed: Connection reset by peer
|
---|
4 |
|
---|
5 | ]0;~
|
---|
6 |
|
---|
7 | [32mnkiran@magrathea [33m~[0m
|
---|
8 |
|
---|
9 | $ ssh sb9
|
---|
10 | Linux console.sb9.orbit-lab.org 2.6.32-21-generic-pae #32-Ubuntu SMP Fri Apr 16 09:39:35 UTC 2010 i686 GNU/Linux
|
---|
11 | Ubuntu 10.04.2 LTS
|
---|
12 |
|
---|
13 | Welcome to Ubuntu!
|
---|
14 | * Documentation: https://help.ubuntu.com/
|
---|
15 |
|
---|
16 | System information as of Fri Mar 11 12:12:07 EST 2011
|
---|
17 |
|
---|
18 | System load: 0.0 Swap usage: 0% Users logged in: 0
|
---|
19 | Usage of /: 6.0% of 14.67GB Temperature: 40 C
|
---|
20 | Memory usage: 3% Processes: 118
|
---|
21 |
|
---|
22 | Graph this data and manage this system at https://landscape.canonical.com/
|
---|
23 |
|
---|
24 | 10 packages can be updated.
|
---|
25 | 6 updates are security updates.
|
---|
26 |
|
---|
27 | Last login: Fri Mar 11 10:04:42 2011 from 165.230.132.126
|
---|
28 |
|
---|
29 | nkiran@console:~$ ssh 1
|
---|
30 | Last login: Fri Mar 11 15:09:23 2011 from consolec.sb9.orbit-lab.org
|
---|
31 |
|
---|
32 | ]0;root@node1-1.sb9.orbit-lab.org: ~root@node1-1:~# ifconfig -a
|
---|
33 | control Link encap:Ethernet HWaddr 00:15:17:d6:da:4b
|
---|
34 | inet addr:10.19.1.1 Bcast:10.19.255.255 Mask:255.255.0.0
|
---|
35 | inet6 addr: fe80::215:17ff:fed6:da4b/64 Scope:Link
|
---|
36 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
37 | RX packets:22427 errors:0 dropped:0 overruns:0 frame:0
|
---|
38 | TX packets:13793 errors:0 dropped:0 overruns:0 carrier:0
|
---|
39 | collisions:0 txqueuelen:1000
|
---|
40 | RX bytes:1982283 (1.9 MB) TX bytes:2359083 (2.3 MB)
|
---|
41 | Memory:febe0000-fec00000
|
---|
42 |
|
---|
43 | exp0 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
44 | inet addr:192.168.11.5 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
45 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
46 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
47 | RX packets:17 errors:0 dropped:0 overruns:0 frame:0
|
---|
48 | TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
|
---|
49 | collisions:0 txqueuelen:1000
|
---|
50 | RX bytes:1020 (1.0 KB) TX bytes:18862 (18.8 KB)
|
---|
51 | Memory:feb80000-feba0000
|
---|
52 |
|
---|
53 | exp0.1 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
54 | inet addr:192.168.11.51 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
55 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
56 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
57 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
58 | TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
|
---|
59 | collisions:0 txqueuelen:0
|
---|
60 | RX bytes:0 (0.0 B) TX bytes:5597 (5.5 KB)
|
---|
61 |
|
---|
62 | exp0.2 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
63 | inet addr:192.168.11.52 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
64 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
65 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
66 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
67 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
68 | collisions:0 txqueuelen:0
|
---|
69 | RX bytes:0 (0.0 B) TX bytes:3148 (3.1 KB)
|
---|
70 |
|
---|
71 | exp0.3 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
72 | inet addr:192.168.11.53 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
73 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
74 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
75 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
76 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
77 | collisions:0 txqueuelen:0
|
---|
78 | RX bytes:0 (0.0 B) TX bytes:3063 (3.0 KB)
|
---|
79 |
|
---|
80 | exp0.4 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
81 | inet addr:192.168.11.54 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
82 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
83 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
84 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
85 | TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
|
---|
86 | collisions:0 txqueuelen:0
|
---|
87 | RX bytes:0 (0.0 B) TX bytes:2883 (2.8 KB)
|
---|
88 |
|
---|
89 | lo Link encap:Local Loopback
|
---|
90 | inet addr:127.0.0.1 Mask:255.0.0.0
|
---|
91 | inet6 addr: ::1/128 Scope:Host
|
---|
92 | UP LOOPBACK RUNNING MTU:16436 Metric:1
|
---|
93 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
94 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
95 | collisions:0 txqueuelen:0
|
---|
96 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
---|
97 |
|
---|
98 | nf2c0 Link encap:Ethernet HWaddr 00:4e:46:32:43:00
|
---|
99 | inet6 addr: fe80::24e:46ff:fe32:4300/64 Scope:Link
|
---|
100 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
101 | RX packets:11683 errors:0 dropped:0 overruns:0 frame:0
|
---|
102 | TX packets:11683 errors:0 dropped:0 overruns:0 carrier:0
|
---|
103 | collisions:0 txqueuelen:1000
|
---|
104 | RX bytes:17683778 (17.6 MB) TX bytes:17683778 (17.6 MB)
|
---|
105 | Interrupt:16
|
---|
106 |
|
---|
107 | nf2c1 Link encap:Ethernet HWaddr 00:4e:46:32:43:01
|
---|
108 | inet6 addr: fe80::24e:46ff:fe32:4301/64 Scope:Link
|
---|
109 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
110 | RX packets:11683 errors:0 dropped:0 overruns:0 frame:0
|
---|
111 | TX packets:11683 errors:0 dropped:0 overruns:0 carrier:0
|
---|
112 | collisions:0 txqueuelen:1000
|
---|
113 | RX bytes:17683778 (17.6 MB) TX bytes:17683778 (17.6 MB)
|
---|
114 | Interrupt:16
|
---|
115 |
|
---|
116 | nf2c2 Link encap:Ethernet HWaddr 00:4e:46:32:43:02
|
---|
117 | inet6 addr: fe80::24e:46ff:fe32:4302/64 Scope:Link
|
---|
118 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
119 | RX packets:11683 errors:0 dropped:0 overruns:0 frame:0
|
---|
120 | TX packets:11683 errors:0 dropped:0 overruns:0 carrier:0
|
---|
121 | collisions:0 txqueuelen:1000
|
---|
122 | RX bytes:17683778 (17.6 MB) TX bytes:17683778 (17.6 MB)
|
---|
123 | Interrupt:16
|
---|
124 |
|
---|
125 | nf2c3 Link encap:Ethernet HWaddr 00:4e:46:32:43:03
|
---|
126 | inet6 addr: fe80::24e:46ff:fe32:4303/64 Scope:Link
|
---|
127 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
128 | RX packets:11683 errors:0 dropped:0 overruns:0 frame:0
|
---|
129 | TX packets:11683 errors:0 dropped:0 overruns:0 carrier:0
|
---|
130 | collisions:0 txqueuelen:1000
|
---|
131 | RX bytes:17683778 (17.6 MB) TX bytes:17683778 (17.6 MB)
|
---|
132 | Interrupt:16
|
---|
133 |
|
---|
134 | ]0;root@node1-1.sb9.orbit-lab.org: ~root@node1-1:~# exit
|
---|
135 | logout
|
---|
136 | Connection to node1-1 closed.
|
---|
137 |
|
---|
138 | nkiran@console:~$ ssh netfpga@1 [K
|
---|
139 | netfpga@node1-1's password:
|
---|
140 | Permission denied, please try again.
|
---|
141 |
|
---|
142 | netfpga@node1-1's password:
|
---|
143 | Last login: Thu Mar 10 14:40:40 2011 from consolec.sb9.orbit-lab.org
|
---|
144 |
|
---|
145 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls
|
---|
146 | [0m[01;34mnetfpga[0m [01;34mpkgs[0m
|
---|
147 | [m]0;netfpga@node1-1: ~netfpga@node1-1:~$ nf_download netfpga/bitfiles/reference_router.bit
|
---|
148 | Found net device: nf2c0
|
---|
149 | Bit file built from: nf2_top_par.ncd;HW_TIMEOUT=FALSE
|
---|
150 | Part: 2vp50ff1152
|
---|
151 | Date: 2011/ 1/20
|
---|
152 | Time: 5:41:32
|
---|
153 | Error Registers: 0
|
---|
154 | Good, after resetting programming interface the FIFO is empty
|
---|
155 | Download completed - 2377668 bytes. (expected 2377668).
|
---|
156 | DONE went high - chip has been successfully programmed.
|
---|
157 | CPCI Information
|
---|
158 | ----------------
|
---|
159 | Version: 4 (rev 1)
|
---|
160 |
|
---|
161 | Device (Virtex) Information
|
---|
162 | ---------------------------
|
---|
163 | Project directory: reference_router
|
---|
164 | Project name: Reference router
|
---|
165 | Project description: Reference IPv4 router
|
---|
166 |
|
---|
167 | Device ID: 2
|
---|
168 | Version: 1.0.0
|
---|
169 | Built against CPCI version: 4 (rev 1)
|
---|
170 |
|
---|
171 | Virtex design compiled against active CPCI version
|
---|
172 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo bash[K[K[K[K[K[K[K[K[Knetfpga/bin/nf_regress_test.pl
|
---|
173 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
174 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
175 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
176 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/
|
---|
177 | bashrc_addon CHANGES .gitignore Makefile
|
---|
178 | bin/ doc/ lib/ projects/
|
---|
179 | bitfiles/ .git/ LICENSE README
|
---|
180 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/lib/Perl5/
|
---|
181 | CPCI_Lib.pm EvtsLib.pm NF/ NFUtils/ SimLib.pm Test/
|
---|
182 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/lib/Perl5/[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[Kecho $PERL5LIB
|
---|
183 |
|
---|
184 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls /usr/local/netfpga/
|
---|
185 | [0m[01;34mbitfiles[0m
|
---|
186 | [m]0;netfpga@node1-1: ~netfpga@node1-1:~$ netfpga/lib/scripts/user_account_setup/user_account_setup.pl
|
---|
187 | [A
|
---|
188 | NetFPGA directory already exists copy has been canceled
|
---|
189 | Adding the NetFPGA Enviornment Variables to your .bashrc
|
---|
190 | cat: /usr/local/netfpga/bashrc_addon: No such file or directory
|
---|
191 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ cat [K[K[K[Kless ~/.bashrc
|
---|
192 | [?1049h[?1h=
|
---|
193 | # ~/.bashrc: executed by bash(1) for non-login shells.
|
---|
194 | # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
---|
195 | # for examples
|
---|
196 |
|
---|
197 | # If not running interactively, don't do anything
|
---|
198 | [ -z "$PS1" ] && return
|
---|
199 |
|
---|
200 | # don't put duplicate lines in the history. See bash(1) for more options
|
---|
201 | # don't overwrite GNU Midnight Commander's setting of `ignorespace'.
|
---|
202 | HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
|
---|
203 | # ... or force ignoredups and ignorespace
|
---|
204 | HISTCONTROL=ignoreboth
|
---|
205 |
|
---|
206 | # append to the history file, don't overwrite it
|
---|
207 | shopt -s histappend
|
---|
208 |
|
---|
209 | # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
---|
210 |
|
---|
211 | # check the window size after each command and, if necessary,
|
---|
212 | # update the values of LINES and COLUMNS.
|
---|
213 | shopt -s checkwinsize
|
---|
214 |
|
---|
215 | # make less more friendly for non-text input files, see lesspipe(1)
|
---|
216 | [7m/home/netfpga/.bashrc [27m[K
|
---|
217 | [K[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
---|
218 |
|
---|
219 | # set variable identifying the chroot you work in (used in the prompt below)
|
---|
220 | if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
---|
221 | debian_chroot=$(cat /etc/debian_chroot)
|
---|
222 | fi
|
---|
223 |
|
---|
224 | # set a fancy prompt (non-color, unless we know we "want" color)
|
---|
225 | case "$TERM" in
|
---|
226 | xterm-color) color_prompt=yes;;
|
---|
227 | esac
|
---|
228 |
|
---|
229 | # uncomment for a colored prompt, if the terminal has the capability; turned
|
---|
230 | # off by default to not distract the user: the focus in a terminal window
|
---|
231 | # should be on the output of commands, not on the prompt
|
---|
232 | #force_color_prompt=yes
|
---|
233 |
|
---|
234 | if [ -n "$force_color_prompt" ]; then
|
---|
235 | if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
---|
236 | # We have color support; assume it's compliant with Ecma-48
|
---|
237 | # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
---|
238 | # a case would tend to support setf rather than setaf.)
|
---|
239 | color_prompt=yes
|
---|
240 | :[K
|
---|
241 | [K else
|
---|
242 | color_prompt=
|
---|
243 | fi
|
---|
244 | fi
|
---|
245 |
|
---|
246 | if [ "$color_prompt" = yes ]; then
|
---|
247 | PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\0333[01;34m\]\w\[\033[00m\]\$ '
|
---|
248 | else
|
---|
249 | PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
---|
250 | fi
|
---|
251 | unset color_prompt force_color_prompt
|
---|
252 |
|
---|
253 | # If this is an xterm set the title to user@host:dir
|
---|
254 | case "$TERM" in
|
---|
255 | xterm*|rxvt*)
|
---|
256 | PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
---|
257 | ;;
|
---|
258 | *)
|
---|
259 | ;;
|
---|
260 | esac
|
---|
261 |
|
---|
262 | # enable color support of ls and also add handy aliases
|
---|
263 | :[K
|
---|
264 | [Kif [ -x /usr/bin/dircolors ]; then
|
---|
265 | test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircollors -b)"
|
---|
266 | alias ls='ls --color=auto'
|
---|
267 | #alias dir='dir --color=auto'
|
---|
268 | #alias vdir='vdir --color=auto'
|
---|
269 |
|
---|
270 | alias grep='grep --color=auto'
|
---|
271 | alias fgrep='fgrep --color=auto'
|
---|
272 | alias egrep='egrep --color=auto'
|
---|
273 | fi
|
---|
274 |
|
---|
275 | # some more ls aliases
|
---|
276 | #alias ll='ls -l'
|
---|
277 | #alias la='ls -A'
|
---|
278 | #alias l='ls -CF'
|
---|
279 |
|
---|
280 | # Alias definitions.
|
---|
281 | # You may want to put all your additions into a separate file like
|
---|
282 | # ~/.bash_aliases, instead of adding them here directly.
|
---|
283 | # See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
---|
284 |
|
---|
285 | if [ -f ~/.bash_aliases ]; then
|
---|
286 | :[K
|
---|
287 | [K . ~/.bash_aliases
|
---|
288 | fi
|
---|
289 |
|
---|
290 | # enable programmable completion features (you don't need to enable
|
---|
291 | # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
---|
292 | # sources /etc/bash.bashrc).
|
---|
293 | if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
---|
294 | . /etc/bash_completion
|
---|
295 | fi
|
---|
296 | [7m(END) [27m[K
|
---|
297 | [K
|
---|
298 | [K[7m(END) [27m[K
|
---|
299 | [K [KESCESC[KOO[KAA
|
---|
300 | [K[HM alias fgrep='fgrep --color=auto'
|
---|
301 | [24;1H
|
---|
302 | [K:[K
|
---|
303 | [K [KESCESC[KOO[KBB
|
---|
304 | [Kfi
|
---|
305 | [7m(END) [27m[K
|
---|
306 | [K [KESCESC[KOO[KAA
|
---|
307 | [K[HM alias fgrep='fgrep --color=auto'
|
---|
308 | [24;1H
|
---|
309 | [K:[K
|
---|
310 | [K [KESCESC[KOO[KAA
|
---|
311 | [K[HM alias grep='grep --color=auto'
|
---|
312 | [24;1H
|
---|
313 | [K:[K
|
---|
314 | [K [KESCESC[KOO[KAA
|
---|
315 | [K[HM
|
---|
316 | [24;1H
|
---|
317 | [K:[K
|
---|
318 | [K [KESCESC[KOO[KAA
|
---|
319 | [K[HM #alias vdir='vdir --color=auto'
|
---|
320 | [24;1H
|
---|
321 | [K:[K
|
---|
322 | [K [KESCESC[KOO[KAA
|
---|
323 | [K[HM #alias dir='dir --color=auto'
|
---|
324 | [24;1H
|
---|
325 | [K:[K
|
---|
326 | [K [KESCESC[KOO[KAA
|
---|
327 | [K[HM alias ls='ls --color=auto'
|
---|
328 | [24;1H
|
---|
329 | [K:[K
|
---|
330 | [K [KESCESC[KOO[KAA
|
---|
331 | [K[HMlors -b)"
|
---|
332 | [24;1H
|
---|
333 | [K:[K
|
---|
334 | [K [KESCESC[KOO[KAA
|
---|
335 | [K[HM test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircol[24;1H
|
---|
336 | [K:[K
|
---|
337 | [K [KESCESC[KOO[KAA
|
---|
338 | [K[HMif [ -x /usr/bin/dircolors ]; then
|
---|
339 | [24;1H
|
---|
340 | [K:[K
|
---|
341 | [K [KESCESC[KOO[KAA
|
---|
342 | [K[HM# enable color support of ls and also add handy aliases
|
---|
343 | [24;1H
|
---|
344 | [K:[K
|
---|
345 | [K [KESCESC[KOO[KAA
|
---|
346 | [K[HM
|
---|
347 | [24;1H
|
---|
348 | [K:[K
|
---|
349 | [K [KESCESC[KOO[KAA
|
---|
350 | [K[HMesac
|
---|
351 | [24;1H
|
---|
352 | [K:[K
|
---|
353 | [K [KESCESC[KOO[KAA
|
---|
354 | [K[HM ;;
|
---|
355 | [24;1H
|
---|
356 | [K:[K
|
---|
357 | [K [KESCESC[KOO[KAA
|
---|
358 | [K[HM*)
|
---|
359 | [24;1H
|
---|
360 | [K:[K
|
---|
361 | [K [KESCESC[KOO[KAA
|
---|
362 | [K[HM ;;
|
---|
363 | [24;1H
|
---|
364 | [K:[K
|
---|
365 | [K [KESCESC[KOO[KAA
|
---|
366 | [K[HM PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
---|
367 | [24;1H
|
---|
368 | [K:[K
|
---|
369 | [K [KESCESC[KOO[KAA
|
---|
370 | [K[HMxterm*|rxvt*)
|
---|
371 | [24;1H
|
---|
372 | [K:[K
|
---|
373 | [K [KESCESC[KOO[KAA
|
---|
374 | [K[HMcase "$TERM" in
|
---|
375 | [24;1H
|
---|
376 | [K:[K
|
---|
377 | [K [KESCESC[KOO[KAA
|
---|
378 | [K[HM# If this is an xterm set the title to user@host:dir
|
---|
379 | [24;1H
|
---|
380 | [K:[K
|
---|
381 | [K [KESCESC[KOO[KAA
|
---|
382 | [K[HM
|
---|
383 | [24;1H
|
---|
384 | [K:[K
|
---|
385 | [K [KESCESC[KOO[KAA
|
---|
386 | [K[HMunset color_prompt force_color_prompt
|
---|
387 | [24;1H
|
---|
388 | [K:[K
|
---|
389 | [K [KESCESC[KOO[KAA
|
---|
390 | [K[HMfi
|
---|
391 | [24;1H
|
---|
392 | [K:[K
|
---|
393 | [K [KESCESC[KOO[KAA
|
---|
394 | [K[HM PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
---|
395 | [24;1H
|
---|
396 | [K:[K
|
---|
397 | [K [KESCESC[KOO[KAA
|
---|
398 | [K[HMelse
|
---|
399 | [24;1H
|
---|
400 | [K:[K
|
---|
401 | [K [KESCESC[KOO[KAA
|
---|
402 | [K[HM33[01;34m\]\w\[\033[00m\]\$ '
|
---|
403 | [24;1H
|
---|
404 | [K:[K
|
---|
405 | [K [KESCESC[KOO[KAA
|
---|
406 | [K[HM PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\03[24;1H
|
---|
407 | [K:[K
|
---|
408 | [K [KESCESC[KOO[KAA
|
---|
409 | [K[HMif [ "$color_prompt" = yes ]; then
|
---|
410 | [24;1H
|
---|
411 | [K:[K
|
---|
412 | [K [KESCESC[KOO[KAA
|
---|
413 | [K[HM
|
---|
414 | [24;1H
|
---|
415 | [K:[K
|
---|
416 | [K [KESCESC[KOO[KAA
|
---|
417 | [K[HMfi
|
---|
418 | [24;1H
|
---|
419 | [K:[K
|
---|
420 | [K [KESCESC[KOO[KAA
|
---|
421 | [K[HM fi
|
---|
422 | [24;1H
|
---|
423 | [K:[K
|
---|
424 | [K [KESCESC[KOO[KAA
|
---|
425 | [K[HM color_prompt=
|
---|
426 | [24;1H
|
---|
427 | [K:[K
|
---|
428 | [K [KESCESC[KOO[KAA
|
---|
429 | [K[HM else
|
---|
430 | [24;1H
|
---|
431 | [K:[K
|
---|
432 | [K [KESCESC[KOO[KAA
|
---|
433 | [K[HM color_prompt=yes
|
---|
434 | [24;1H
|
---|
435 | [K:[K
|
---|
436 | [K [KESCESC[KOO[KAA
|
---|
437 | [K[HM # a case would tend to support setf rather than setaf.)
|
---|
438 | [24;1H
|
---|
439 | [K:[K
|
---|
440 | [K [KESCESC[KOO[KAA
|
---|
441 | [K[HM # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
---|
442 | [24;1H
|
---|
443 | [K:[K
|
---|
444 | [K [KESCESC[KOO[KAA
|
---|
445 | [K[HM # We have color support; assume it's compliant with Ecma-48
|
---|
446 | [24;1H
|
---|
447 | [K:[K
|
---|
448 | [K [KESCESC[KOO[KAA
|
---|
449 | [K[HM if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
---|
450 | [24;1H
|
---|
451 | [K:[K
|
---|
452 | [K [KESCESC[KOO[KAA
|
---|
453 | [K[HMif [ -n "$force_color_prompt" ]; then
|
---|
454 | [24;1H
|
---|
455 | [K:[K
|
---|
456 | [K [KESCESC[KOO[KAA
|
---|
457 | [K[HM
|
---|
458 | [24;1H
|
---|
459 | [K:[K
|
---|
460 | [K [KESCESC[KOO[KAA
|
---|
461 | [K[HM#force_color_prompt=yes
|
---|
462 | [24;1H
|
---|
463 | [K:[K
|
---|
464 | [K [KESCESC[KOO[KAA
|
---|
465 | [K[HM# should be on the output of commands, not on the prompt
|
---|
466 | [24;1H
|
---|
467 | [K:[K
|
---|
468 | [K [KESCESC[KOO[KAA
|
---|
469 | [K[HM# off by default to not distract the user: the focus in a terminal window
|
---|
470 | [24;1H
|
---|
471 | [K:[K
|
---|
472 | [K [KESCESC[KOO[KAA
|
---|
473 | [K[HM# uncomment for a colored prompt, if the terminal has the capability; turned
|
---|
474 | [24;1H
|
---|
475 | [K:[K
|
---|
476 | [K [KESCESC[KOO[KAA
|
---|
477 | [K[HM
|
---|
478 | [24;1H
|
---|
479 | [K:[K
|
---|
480 | [K [KESCESC[KOO[KAA
|
---|
481 | [K[HMesac
|
---|
482 | [24;1H
|
---|
483 | [K:[K
|
---|
484 | [K [KESCESC[KOO[KAA
|
---|
485 | [K[HM xterm-color) color_prompt=yes;;
|
---|
486 | [24;1H
|
---|
487 | [K:[K
|
---|
488 | [K [KESCESC[KOO[KAA
|
---|
489 | [K[HMcase "$TERM" in
|
---|
490 | [24;1H
|
---|
491 | [K:[K
|
---|
492 | [K [KESCESC[KOO[KAA
|
---|
493 | [K[HM# set a fancy prompt (non-color, unless we know we "want" color)
|
---|
494 | [24;1H
|
---|
495 | [K:[K
|
---|
496 | [K [KESCESC[KOO[KAA
|
---|
497 | [K[HM
|
---|
498 | [24;1H
|
---|
499 | [K:[K
|
---|
500 | [K [KESCESC[KOO[KAA
|
---|
501 | [K[HMfi
|
---|
502 | [24;1H
|
---|
503 | [K:[K
|
---|
504 | [K [KESCESC[KOO[KAA
|
---|
505 | [K[HM debian_chroot=$(cat /etc/debian_chroot)
|
---|
506 | [24;1H
|
---|
507 | [K:[K
|
---|
508 | [K [KESCESC[KOO[KAA
|
---|
509 | [K[HMif [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
---|
510 | [24;1H
|
---|
511 | [K:[K
|
---|
512 | [K [KESCESC[KOO[KAA
|
---|
513 | [K[HM# set variable identifying the chroot you work in (used in the prompt below)
|
---|
514 | [24;1H
|
---|
515 | [K:[K
|
---|
516 | [K [KESCESC[KOO[KAA
|
---|
517 | [K[HM
|
---|
518 | [24;1H
|
---|
519 | [K:[K
|
---|
520 | [K [KESCESC[KOO[KAA
|
---|
521 | [K[HM[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
---|
522 | [24;1H
|
---|
523 | [K:[K
|
---|
524 | [K [KESCESC[KOO[KAA
|
---|
525 | [K[HM# make less more friendly for non-text input files, see lesspipe(1)
|
---|
526 | [24;1H
|
---|
527 | [K:[K
|
---|
528 | [K [KESCESC[KOO[KAA
|
---|
529 | [K[HM
|
---|
530 | [24;1H
|
---|
531 | [K:[K
|
---|
532 | [K [KESCESC[KOO[KAA
|
---|
533 | [K[HMshopt -s checkwinsize
|
---|
534 | [24;1H
|
---|
535 | [K:[K
|
---|
536 | [K [KESCESC[KOO[KAA
|
---|
537 | [K[HM# update the values of LINES and COLUMNS.
|
---|
538 | [24;1H
|
---|
539 | [K:[K
|
---|
540 | [K [KESCESC[KOO[KAA
|
---|
541 | [K[HM# check the window size after each command and, if necessary,
|
---|
542 | [24;1H
|
---|
543 | [K:[K
|
---|
544 | [K [KESCESC[KOO[KAA
|
---|
545 | [K[HM
|
---|
546 | [24;1H
|
---|
547 | [K:[K
|
---|
548 | [K [KESCESC[KOO[KAA
|
---|
549 | [K[HM# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
---|
550 | [24;1H
|
---|
551 | [K:[K
|
---|
552 | [K [KESCESC[KOO[KAA
|
---|
553 | [K[HM
|
---|
554 | [24;1H
|
---|
555 | [K:[K
|
---|
556 | [K [KESCESC[KOO[KAA
|
---|
557 | [K[HMshopt -s histappend
|
---|
558 | [24;1H
|
---|
559 | [K:[K
|
---|
560 | [K [KESCESC[KOO[KAA
|
---|
561 | [K[HM# append to the history file, don't overwrite it
|
---|
562 | [24;1H
|
---|
563 | [K:[K
|
---|
564 | [K [KESCESC[KOO[KAA
|
---|
565 | [K[HM
|
---|
566 | [24;1H
|
---|
567 | [K:[K
|
---|
568 | [K [KESCESC[KOO[KAA
|
---|
569 | [K[HMHISTCONTROL=ignoreboth
|
---|
570 | [24;1H
|
---|
571 | [K:[K
|
---|
572 | [K [KESCESC[KOO[KAA
|
---|
573 | [K[HM# ... or force ignoredups and ignorespace
|
---|
574 | [24;1H
|
---|
575 | [K:[K
|
---|
576 | [K [KESCESC[KOO[KAA
|
---|
577 | [K[HMHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
|
---|
578 | [24;1H
|
---|
579 | [K:[K
|
---|
580 | [K [KESCESC[KOO[KAA
|
---|
581 | [K[HM# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
|
---|
582 | [24;1H
|
---|
583 | [K:[K
|
---|
584 | [K [KESCESC[KOO[KAA
|
---|
585 | [K[HM# don't put duplicate lines in the history. See bash(1) for more options
|
---|
586 | [24;1H
|
---|
587 | [K:[K
|
---|
588 | [K [KESCESC[KOO[KAA
|
---|
589 | [K[HM
|
---|
590 | [24;1H
|
---|
591 | [K:[K
|
---|
592 | [K [KESCESC[KOO[KAA
|
---|
593 | [K[HM[ -z "$PS1" ] && return
|
---|
594 | [24;1H
|
---|
595 | [K:[K
|
---|
596 | [K [KESCESC[KOO[KAA
|
---|
597 | [K[HM# If not running interactively, don't do anything
|
---|
598 | [24;1H
|
---|
599 | [K:[K
|
---|
600 | [K [KESCESC[KOO[KAA
|
---|
601 | [K[HM
|
---|
602 | [24;1H
|
---|
603 | [K:[K
|
---|
604 | [K [KESCESC[KOO[KAA
|
---|
605 | [K[HM# for examples
|
---|
606 | [24;1H
|
---|
607 | [K:[K
|
---|
608 | [K [KESCESC[KOO[KAA
|
---|
609 | [K[HM# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
---|
610 | [24;1H
|
---|
611 | [K:[K
|
---|
612 | [K [KESCESC[KOO[KAA
|
---|
613 | [K[HM# ~/.bashrc: executed by bash(1) for non-login shells.
|
---|
614 | [24;1H
|
---|
615 | [K:[K
|
---|
616 | [K [KESCESC[KOO[KAA
|
---|
617 | [K
|
---|
618 | [K:[K
|
---|
619 | [K [KESCESC[KOO[KAA
|
---|
620 | [K
|
---|
621 | [K:[K
|
---|
622 | [K [KESCESC[KOO[KAA
|
---|
623 | [K
|
---|
624 | [K:[K
|
---|
625 | [K [KESCESC[KOO[KAA
|
---|
626 | [K
|
---|
627 | [K:[K
|
---|
628 | [K [KESCESC[KOO[KAA
|
---|
629 | [K
|
---|
630 | [K:[K
|
---|
631 | [K [KESCESC[KOO[KAA
|
---|
632 | [K
|
---|
633 | [K:[K
|
---|
634 | [K [KESCESC[KOO[KAA
|
---|
635 | [K
|
---|
636 | [K:[K
|
---|
637 | [K [KESCESC[KOO[KAA
|
---|
638 | [K
|
---|
639 | [K:[K
|
---|
640 | [K [KESCESC[KOO[KAA
|
---|
641 | [K
|
---|
642 | [K:[K
|
---|
643 | [K [KESCESC[KOO[KAA
|
---|
644 | [K
|
---|
645 | [K:[K
|
---|
646 | [K [KESCESC[KOO[KAA
|
---|
647 | [K
|
---|
648 | [K:[K
|
---|
649 | [K [KESCESC[KOO[KAA
|
---|
650 | [K
|
---|
651 | [K:[K
|
---|
652 | [K [KESCESC[KOO[KAA
|
---|
653 | [K
|
---|
654 | [K:[K
|
---|
655 | [K [KESCESC[KOO[KAA
|
---|
656 | [K
|
---|
657 | [K:[K
|
---|
658 | [K [KESCESC[KOO[KAA
|
---|
659 | [K
|
---|
660 | [K:[K
|
---|
661 | [K [KESCESC[KOO[KAA
|
---|
662 | [K
|
---|
663 | [K:[K
|
---|
664 | [K [KESCESC[KOO[KAA
|
---|
665 | [K
|
---|
666 | [K:[K
|
---|
667 | [K [KESCESC[KOO[KAA
|
---|
668 | [K
|
---|
669 | [K:[K
|
---|
670 | [K [KESCESC[KOO[KAA
|
---|
671 | [K
|
---|
672 | [K:[K
|
---|
673 | [K [KESCESC[KOO[KAA
|
---|
674 | [K
|
---|
675 | [K:[K
|
---|
676 | [K [KESCESC[KOO[KAA
|
---|
677 | [K
|
---|
678 | [K:[K
|
---|
679 | [K [KESCESC[KOO[KAA
|
---|
680 | [K
|
---|
681 | [K:[K
|
---|
682 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/bashrc_addon [C[1@e[C[1@s
|
---|
683 | [?1049h[?1h=
|
---|
684 |
|
---|
685 | if [ "$NF_ROOT" == "" ]; then
|
---|
686 | export NF_ROOT=${HOME}/netfpga
|
---|
687 | fi
|
---|
688 |
|
---|
689 | if [ "$NF_DESIGN_DIR" == "" ]; then
|
---|
690 | export NF_DESIGN_DIR=${NF_ROOT}/projects/reference_nic
|
---|
691 | fi
|
---|
692 |
|
---|
693 | if [ "$NF_WORK_DIR" == "" ]; then
|
---|
694 | export NF_WORK_DIR=/tmp/${USER}
|
---|
695 | fi
|
---|
696 |
|
---|
697 | export PYTHONPATH=${PYTHONPATH}:${NF_ROOT}/lib/python
|
---|
698 | export LD_LIBRARY_PATH=${NF_ROOT}/lib/java/NetFPGAFrontEnd/bin:${LD_LIBRARY_PATH}}
|
---|
699 |
|
---|
700 | if [ ! -d ${NF_WORK_DIR} ]; then
|
---|
701 | mkdir ${NF_WORK_DIR}
|
---|
702 | fi
|
---|
703 |
|
---|
704 | if [ ! -d ${HOME}/.qt ]; then
|
---|
705 | mkdir ${HOME}/.qt
|
---|
706 | [7mnetfpga/bashrc_addon [27m[K
|
---|
707 | [Kfi
|
---|
708 | :[K
|
---|
709 | [K
|
---|
710 | :[K
|
---|
711 | [Kif [ -f ${NF_ROOT}/bin/nf_profile ]; then
|
---|
712 | :[K
|
---|
713 | [K source ${NF_ROOT}/bin/nf_profile
|
---|
714 | :[K
|
---|
715 | [Kfi
|
---|
716 | [7m(END) [27m[K
|
---|
717 | [K
|
---|
718 | [K[7m(END) [27m[K
|
---|
719 | [K
|
---|
720 | [K[7m(END) [27m[K
|
---|
721 | [K
|
---|
722 | [K[7m(END) [27m[K
|
---|
723 | [K
|
---|
724 | [K[7m(END) [27m[K
|
---|
725 | [K
|
---|
726 | [K[7m(END) [27m[K
|
---|
727 | [K
|
---|
728 | [K[7m(END) [27m[K
|
---|
729 | [K
|
---|
730 | [K[7m(END) [27m[K
|
---|
731 | [K
|
---|
732 | [K[7m(END) [27m[K
|
---|
733 | [K
|
---|
734 | [K[7m(END) [27m[K
|
---|
735 | [K
|
---|
736 | [K[7m(END) [27m[K
|
---|
737 | [K
|
---|
738 | [K[7m(END) [27m[K
|
---|
739 | [K
|
---|
740 | [K[7m(END) [27m[K
|
---|
741 | [K
|
---|
742 | [K[7m(END) [27m[K
|
---|
743 | [K
|
---|
744 | [K[7m(END) [27m[K
|
---|
745 | [K
|
---|
746 | [K[7m(END) [27m[K
|
---|
747 | [K
|
---|
748 | [K[7m(END) [27m[K
|
---|
749 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ cp bet[K[K[Knetfpga/bashrc_addon /usr/local/netfpga/
|
---|
750 | cp: cannot create regular file `/usr/local/netfpga/bashrc_addon': Permission denied
|
---|
751 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ cp netfpga/bashrc_addon /usr/local/netfpga/[1@s[1@u[1@d[1@o[1@
|
---|
752 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo cp netfpga/bashrc_addon /usr/local/netfpga/
|
---|
753 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[5P[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
|
---|
754 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[17Pless netfpga/bashrc_addon [12P~/.bashrcnetfpga/lib/scripts/user_account_setup/user_account_setup.pl
|
---|
755 | [A
|
---|
756 | NetFPGA directory already exists copy has been canceled
|
---|
757 | Adding the NetFPGA Enviornment Variables to your .bashrc
|
---|
758 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ less [K[K[K[K[Knetfpga/lib/scripts/user_account_setup/user_account_setup.pl
|
---|
759 | [A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[13Psudo cp netfpga/bashrc_addon /usr/local/netfpga/
|
---|
760 |
|
---|
761 | [K[A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
|
---|
762 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[5P[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
|
---|
763 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[17Pless netfpga/bashrc_addon
|
---|
764 | [?1049h[?1h=
|
---|
765 |
|
---|
766 | if [ "$NF_ROOT" == "" ]; then
|
---|
767 | export NF_ROOT=${HOME}/netfpga
|
---|
768 | fi
|
---|
769 |
|
---|
770 | if [ "$NF_DESIGN_DIR" == "" ]; then
|
---|
771 | export NF_DESIGN_DIR=${NF_ROOT}/projects/reference_nic
|
---|
772 | fi
|
---|
773 |
|
---|
774 | if [ "$NF_WORK_DIR" == "" ]; then
|
---|
775 | export NF_WORK_DIR=/tmp/${USER}
|
---|
776 | fi
|
---|
777 |
|
---|
778 | export PYTHONPATH=${PYTHONPATH}:${NF_ROOT}/lib/python
|
---|
779 | export LD_LIBRARY_PATH=${NF_ROOT}/lib/java/NetFPGAFrontEnd/bin:${LD_LIBRARY_PATH}}
|
---|
780 |
|
---|
781 | if [ ! -d ${NF_WORK_DIR} ]; then
|
---|
782 | mkdir ${NF_WORK_DIR}
|
---|
783 | fi
|
---|
784 |
|
---|
785 | if [ ! -d ${HOME}/.qt ]; then
|
---|
786 | mkdir ${HOME}/.qt
|
---|
787 | [7mnetfpga/bashrc_addon [27m[K
|
---|
788 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ less netfpga/bashrc_addon
|
---|
789 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cnetfpga/lib/scripts/user_account_setup/user_account_setup.pl
|
---|
790 | [A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[13Psudo cp netfpga/bashrc_addon /usr/local/netfpga/
|
---|
791 |
|
---|
792 | [K[A[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
|
---|
793 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[5P[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
|
---|
794 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[17Pless netfpga/bashrc_addon [12P~/.bashrc
|
---|
795 | [?1049h[?1h=
|
---|
796 | # ~/.bashrc: executed by bash(1) for non-login shells.
|
---|
797 | # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
---|
798 | # for examples
|
---|
799 |
|
---|
800 | # If not running interactively, don't do anything
|
---|
801 | [ -z "$PS1" ] && return
|
---|
802 |
|
---|
803 | # don't put duplicate lines in the history. See bash(1) for more options
|
---|
804 | # don't overwrite GNU Midnight Commander's setting of `ignorespace'.
|
---|
805 | HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
|
---|
806 | # ... or force ignoredups and ignorespace
|
---|
807 | HISTCONTROL=ignoreboth
|
---|
808 |
|
---|
809 | # append to the history file, don't overwrite it
|
---|
810 | shopt -s histappend
|
---|
811 |
|
---|
812 | # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
---|
813 |
|
---|
814 | # check the window size after each command and, if necessary,
|
---|
815 | # update the values of LINES and COLUMNS.
|
---|
816 | shopt -s checkwinsize
|
---|
817 |
|
---|
818 | # make less more friendly for non-text input files, see lesspipe(1)
|
---|
819 | [7m/home/netfpga/.bashrc [27m[K
|
---|
820 | [K[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
---|
821 |
|
---|
822 | # set variable identifying the chroot you work in (used in the prompt below)
|
---|
823 | if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
---|
824 | debian_chroot=$(cat /etc/debian_chroot)
|
---|
825 | fi
|
---|
826 |
|
---|
827 | # set a fancy prompt (non-color, unless we know we "want" color)
|
---|
828 | case "$TERM" in
|
---|
829 | xterm-color) color_prompt=yes;;
|
---|
830 | esac
|
---|
831 |
|
---|
832 | # uncomment for a colored prompt, if the terminal has the capability; turned
|
---|
833 | # off by default to not distract the user: the focus in a terminal window
|
---|
834 | # should be on the output of commands, not on the prompt
|
---|
835 | #force_color_prompt=yes
|
---|
836 |
|
---|
837 | if [ -n "$force_color_prompt" ]; then
|
---|
838 | if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
---|
839 | # We have color support; assume it's compliant with Ecma-48
|
---|
840 | # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
---|
841 | # a case would tend to support setf rather than setaf.)
|
---|
842 | color_prompt=yes
|
---|
843 | :[K
|
---|
844 | [K else
|
---|
845 | color_prompt=
|
---|
846 | fi
|
---|
847 | fi
|
---|
848 |
|
---|
849 | if [ "$color_prompt" = yes ]; then
|
---|
850 | PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\0333[01;34m\]\w\[\033[00m\]\$ '
|
---|
851 | else
|
---|
852 | PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
---|
853 | fi
|
---|
854 | unset color_prompt force_color_prompt
|
---|
855 |
|
---|
856 | # If this is an xterm set the title to user@host:dir
|
---|
857 | case "$TERM" in
|
---|
858 | xterm*|rxvt*)
|
---|
859 | PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
---|
860 | ;;
|
---|
861 | *)
|
---|
862 | ;;
|
---|
863 | esac
|
---|
864 |
|
---|
865 | # enable color support of ls and also add handy aliases
|
---|
866 | :[K
|
---|
867 | [Kif [ -x /usr/bin/dircolors ]; then
|
---|
868 | test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircollors -b)"
|
---|
869 | alias ls='ls --color=auto'
|
---|
870 | #alias dir='dir --color=auto'
|
---|
871 | #alias vdir='vdir --color=auto'
|
---|
872 |
|
---|
873 | alias grep='grep --color=auto'
|
---|
874 | alias fgrep='fgrep --color=auto'
|
---|
875 | alias egrep='egrep --color=auto'
|
---|
876 | fi
|
---|
877 |
|
---|
878 | # some more ls aliases
|
---|
879 | #alias ll='ls -l'
|
---|
880 | #alias la='ls -A'
|
---|
881 | #alias l='ls -CF'
|
---|
882 |
|
---|
883 | # Alias definitions.
|
---|
884 | # You may want to put all your additions into a separate file like
|
---|
885 | # ~/.bash_aliases, instead of adding them here directly.
|
---|
886 | # See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
---|
887 |
|
---|
888 | if [ -f ~/.bash_aliases ]; then
|
---|
889 | :[K
|
---|
890 | [K . ~/.bash_aliases
|
---|
891 | fi
|
---|
892 |
|
---|
893 | # enable programmable completion features (you don't need to enable
|
---|
894 | # this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
---|
895 | # sources /etc/bash.bashrc).
|
---|
896 | if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
---|
897 | . /etc/bash_completion
|
---|
898 | fi
|
---|
899 |
|
---|
900 | if [ "$NF_ROOT" == "" ]; then
|
---|
901 | export NF_ROOT=${HOME}/netfpga
|
---|
902 | fi
|
---|
903 |
|
---|
904 | if [ "$NF_DESIGN_DIR" == "" ]; then
|
---|
905 | export NF_DESIGN_DIR=${NF_ROOT}/projects/reference_nic
|
---|
906 | fi
|
---|
907 |
|
---|
908 | if [ "$NF_WORK_DIR" == "" ]; then
|
---|
909 | export NF_WORK_DIR=/tmp/${USER}
|
---|
910 | fi
|
---|
911 |
|
---|
912 | export PYTHONPATH=${PYTHONPATH}:${NF_ROOT}/lib/python
|
---|
913 | :[K
|
---|
914 | [Kexport LD_LIBRARY_PATH=${NF_ROOT}/lib/java/NetFPGAFrontEnd/bin:${LD_LIBRARY_PATH}}
|
---|
915 |
|
---|
916 | if [ ! -d ${NF_WORK_DIR} ]; then
|
---|
917 | mkdir ${NF_WORK_DIR}
|
---|
918 | fi
|
---|
919 |
|
---|
920 | if [ ! -d ${HOME}/.qt ]; then
|
---|
921 | mkdir ${HOME}/.qt
|
---|
922 | fi
|
---|
923 |
|
---|
924 | if [ -f ${NF_ROOT}/bin/nf_profile ]; then
|
---|
925 | source ${NF_ROOT}/bin/nf_profile
|
---|
926 | fi
|
---|
927 | [7m(END) [27m[K
|
---|
928 | [K
|
---|
929 | [K[7m(END) [27m[K
|
---|
930 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ exit
|
---|
931 | logout
|
---|
932 | Connection to node1-1 closed.
|
---|
933 |
|
---|
934 | nkiran@console:~$ ssh netfpga@1
|
---|
935 | netfpga@node1-1's password:
|
---|
936 | Last login: Fri Mar 11 17:17:04 2011 from consolec.sb9.orbit-lab.org
|
---|
937 |
|
---|
938 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls
|
---|
939 | [0m[01;34mnetfpga[0m [01;34mpkgs[0m
|
---|
940 | [m]0;netfpga@node1-1: ~netfpga@node1-1:~$ echo $PERL5LIB
|
---|
941 | /home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
942 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ netfpga/bin/nf_regress_test.pl
|
---|
943 |
|
---|
944 | NetFPGA environment:
|
---|
945 | Root dir: /home/netfpga/netfpga
|
---|
946 | Project name: reference_nic
|
---|
947 | Project dir: /home/netfpga/netfpga/projects/reference_nic
|
---|
948 | Work dir: /tmp/netfpga
|
---|
949 |
|
---|
950 | Root directory is /home/netfpga/netfpga
|
---|
951 |
|
---|
952 | nf_regress_test.pl: Cannot locate project 'rcp_router'
|
---|
953 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/projects/
|
---|
954 | [0m[01;34mcpci[0m [01;34mgeneric_reg_with_instances_test[0m [01;34mrouter_buffer_sizing[0m
|
---|
955 | [01;34mcpci_reprogrammer[0m [01;34mgui_scone[0m [01;34mrouter_kit[0m
|
---|
956 | [01;34mcrypto_nic[0m Makefile [01;34mscone[0m
|
---|
957 | [01;34mddr2_blk_rdwr_test[0m [01;34mreference_nic[0m [01;34mselftest[0m
|
---|
958 | [01;34mdram_queue_test[0m [01;34mreference_router[0m [01;34mtutorial_router[0m
|
---|
959 | [01;34mdram_router[0m [01;34mreference_switch[0m [01;34mwireshark_dissectors[0m
|
---|
960 | [01;34mdriver[0m regress.txt
|
---|
961 | [m]0;netfpga@node1-1: ~netfpga@node1-1:~$ ls netfpga/projects/netfpga/bin/nf_regress_test.pl [1@l[1@e[1@s[1@s[1@
|
---|
962 | [?1049h[?1h=
|
---|
963 | #!/usr/bin/perl -w
|
---|
964 |
|
---|
965 | use NF::Base;
|
---|
966 | use NF::RegAccess;
|
---|
967 | use Test::RegressTest;
|
---|
968 |
|
---|
969 | # check vars are set.
|
---|
970 | check_NF2_vars_set();
|
---|
971 |
|
---|
972 | sub INT_Handler {
|
---|
973 | my $signame = shift;
|
---|
974 | nf_regwrite( 'nf2c0', MDIO_0_CONTROL_REG(), 0x8000 );
|
---|
975 | nf_regwrite( 'nf2c0', MDIO_1_CONTROL_REG(), 0x8000 );
|
---|
976 | nf_regwrite( 'nf2c0', MDIO_2_CONTROL_REG(), 0x8000 );
|
---|
977 | nf_regwrite( 'nf2c0', MDIO_3_CONTROL_REG(), 0x8000 );
|
---|
978 |
|
---|
979 | print "\nResetting interfaces...\n";
|
---|
980 | sleep 5;
|
---|
981 | print "\nExited with SIG$signame\n";
|
---|
982 | exit(1);
|
---|
983 | }
|
---|
984 |
|
---|
985 | push @ARGV, "--root=$ENV{'NF_ROOT'}";
|
---|
986 | [7mnetfpga/bin/nf_regress_test.pl [27m[K
|
---|
987 | [K [KESCESC[KOO[KBB
|
---|
988 | [K
|
---|
989 | :[K
|
---|
990 | [K [KESCESC[KOO[KBB
|
---|
991 | [Krun_regress_test( \&INT_Handler, @ARGV );
|
---|
992 | [7m(END) [27m[K
|
---|
993 | [K [KESCESC[KOO[KBB
|
---|
994 | [K
|
---|
995 | [K[7m(END) [27m[K
|
---|
996 | [K [KESCESC[KOO[KBB
|
---|
997 | [K
|
---|
998 | [K[7m(END) [27m[K
|
---|
999 | [K [KESCESC[KOO[KBB
|
---|
1000 | [K
|
---|
1001 | [K[7m(END) [27m[K
|
---|
1002 | [K [KESCESC[KOO[KBB
|
---|
1003 | [K
|
---|
1004 | [K[7m(END) [27m[K
|
---|
1005 | [K
|
---|
1006 | [K[7m(END) [27m[K
|
---|
1007 | [K [KESCESC[KOO[KAA
|
---|
1008 | [K[HM
|
---|
1009 | [24;1H
|
---|
1010 | [K:[K
|
---|
1011 | [K [KESCESC[KOO[KAA
|
---|
1012 | [K[HM#!/usr/bin/perl -w
|
---|
1013 | [24;1H
|
---|
1014 | [K:[K
|
---|
1015 | [K [KESCESC[KOO[KAA
|
---|
1016 | [K
|
---|
1017 | [K:[K
|
---|
1018 | [K [KESCESC[KOO[KAA
|
---|
1019 | [K
|
---|
1020 | [K:[K
|
---|
1021 | [K [KESCESC[KOO[KAA
|
---|
1022 | [K
|
---|
1023 | [K:[K
|
---|
1024 | [K [KESCESC[KOO[KAA
|
---|
1025 | [K
|
---|
1026 | [K:[K
|
---|
1027 | [K [KESCESC[KOO[KAA
|
---|
1028 | [K
|
---|
1029 | [K:[K
|
---|
1030 | [K [KESCESC[KOO[KAA
|
---|
1031 | [K
|
---|
1032 | [K:[K
|
---|
1033 | [K [KESCESC[KOO[KAA
|
---|
1034 | [K
|
---|
1035 | [K:[K
|
---|
1036 | [K [KESCESC[KOO[KAA
|
---|
1037 | [K
|
---|
1038 | [K:[K
|
---|
1039 | [K [KESCESC[KOO[KAA
|
---|
1040 | [K
|
---|
1041 | [K:[K
|
---|
1042 | [K [KESCESC[KOO[KAA
|
---|
1043 | [K
|
---|
1044 | [K:[K
|
---|
1045 | [K [KESCESC[KOO[KAA
|
---|
1046 | [K
|
---|
1047 | [K:[K
|
---|
1048 | [K [KESCESC[KOO[KAA
|
---|
1049 | [K
|
---|
1050 | [K:[K
|
---|
1051 | [K [KESCESC[KOO[KAA
|
---|
1052 | [K
|
---|
1053 | [K:[K
|
---|
1054 | [K [KESCESC[KOO[KAA
|
---|
1055 | [K
|
---|
1056 | [K:[K
|
---|
1057 | [K [KESCESC[KOO[KAA
|
---|
1058 | [K
|
---|
1059 | [K:[K
|
---|
1060 | [K [KESCESC[KOO[KBB
|
---|
1061 | [K
|
---|
1062 | :[K
|
---|
1063 | [K [KESCESC[KOO[KBB
|
---|
1064 | [Krun_regress_test( \&INT_Handler, @ARGV );
|
---|
1065 | [7m(END) [27m[K
|
---|
1066 | [K [KESCESC[KOO[KBB
|
---|
1067 | [K
|
---|
1068 | [K[7m(END) [27m[K
|
---|
1069 | [K [KESCESC[KOO[KBB
|
---|
1070 | [K
|
---|
1071 | [K[7m(END) [27m[K
|
---|
1072 | [K [KESCESC[KOO[KBB
|
---|
1073 | [K
|
---|
1074 | [K[7m(END) [27m[K
|
---|
1075 | [K [KESCESC[KOO[KBB
|
---|
1076 | [K
|
---|
1077 | [K[7m(END) [27m[K
|
---|
1078 | [K [KESCESC[KOO[KBB
|
---|
1079 | [K
|
---|
1080 | [K[7m(END) [27m[K
|
---|
1081 | [K [KESCESC[KOO[KBB
|
---|
1082 | [K
|
---|
1083 | [K[7m(END) [27m[K
|
---|
1084 | [K [KESCESC[KOO[KBB
|
---|
1085 | [K
|
---|
1086 | [K[7m(END) [27m[K
|
---|
1087 | [K [KESCESC[KOO[KBB
|
---|
1088 | [K
|
---|
1089 | [K[7m(END) [27m[K
|
---|
1090 | [K [KESCESC[KOO[KBB
|
---|
1091 | [K
|
---|
1092 | [K[7m(END) [27m[K
|
---|
1093 | [K [KESCESC[KOO[KAA
|
---|
1094 | [K[HM
|
---|
1095 | [24;1H
|
---|
1096 | [K:[K
|
---|
1097 | [K [KESCESC[KOO[KAA
|
---|
1098 | [K[HM#!/usr/bin/perl -w
|
---|
1099 | [24;1H
|
---|
1100 | [K:[K
|
---|
1101 | [K [KESCESC[KOO[KAA
|
---|
1102 | [K
|
---|
1103 | [K:[K
|
---|
1104 | [K [KESCESC[KOO[KAA
|
---|
1105 | [K
|
---|
1106 | [K:[K
|
---|
1107 | [K [KESCESC[KOO[KAA
|
---|
1108 | [K
|
---|
1109 | [K:[K
|
---|
1110 | [K [KESCESC[KOO[KAA
|
---|
1111 | [K
|
---|
1112 | [K:[K
|
---|
1113 | [K [KESCESC[KOO[KAA
|
---|
1114 | [K
|
---|
1115 | [K:[K
|
---|
1116 | [K [KESCESC[KOO[KAA
|
---|
1117 | [K
|
---|
1118 | [K:[K
|
---|
1119 | [K [KESCESC[KOO[KAA
|
---|
1120 | [K
|
---|
1121 | [K:[K
|
---|
1122 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ less netfpga/bin/nf_regress_test.pl
|
---|
1123 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[16Ps netfpga/projects/netfpga/bin/nf_regress_test.pl --project driver
|
---|
1124 |
|
---|
1125 | NetFPGA environment:
|
---|
1126 | Root dir: /home/netfpga/netfpga
|
---|
1127 | Project name: driver
|
---|
1128 | Project dir: /home/netfpga/netfpga/projects/driver
|
---|
1129 | Work dir: /tmp/netfpga
|
---|
1130 |
|
---|
1131 | Root directory is /home/netfpga/netfpga
|
---|
1132 | Running tests on project 'driver'...
|
---|
1133 | Running global setup... PASS
|
---|
1134 | Running test 'driver_compile'... PASS
|
---|
1135 | Running test 'driver_install'... FAIL
|
---|
1136 | Output was:
|
---|
1137 | [: 30: Illegal number: !
|
---|
1138 | rm: cannot remove `/lib/modules/2.6.31-19-generic/kernel/drivers/nf2.ko': Permission denied
|
---|
1139 | make -C /lib/modules/2.6.31-19-generic/build M=/home/netfpga/netfpga/lib/C/kernel LDDINC=/home/netfpga/netfpga/lib/C/kernel/../include modules
|
---|
1140 | make[1]: Entering directory `/usr/src/linux-headers-2.6.31-19-generic'
|
---|
1141 | Building modules, stage 2.
|
---|
1142 | MODPOST 1 modules
|
---|
1143 | make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-19-generic'
|
---|
1144 | install -m 644 nf2.ko /lib/modules/`uname -r`/kernel/drivers/nf2.ko
|
---|
1145 | install: cannot remove `/lib/modules/2.6.31-19-generic/kernel/drivers/nf2.ko': Permission denied
|
---|
1146 | make: *** [install] Error 1
|
---|
1147 |
|
---|
1148 |
|
---|
1149 | driver_install/run exited with value 1
|
---|
1150 |
|
---|
1151 | Running test 'modprobe'... PASS
|
---|
1152 | Running test 'verify_mtu'... PASS
|
---|
1153 | Running test 'verify_4_interfaces'... FAIL
|
---|
1154 | Output was:
|
---|
1155 | [: 97: Illegal number: !
|
---|
1156 | SIOCSIFFLAGS: Permission denied
|
---|
1157 | SIOCSIFFLAGS: Permission denied
|
---|
1158 | SIOCSIFFLAGS: Permission denied
|
---|
1159 | SIOCSIFFLAGS: Permission denied
|
---|
1160 | FATAL: Error removing nf2 (/lib/modules/2.6.31-19-generic/kernel/drivers/nf2.ko): Operation not permitted
|
---|
1161 | /home/netfpga/netfpga/projects/driver/regress/verify_4_interfaces/run: Error: Unable to remove module 'nf2'
|
---|
1162 |
|
---|
1163 |
|
---|
1164 | verify_4_interfaces/run exited with value 1
|
---|
1165 |
|
---|
1166 | Running global teardown... PASS
|
---|
1167 |
|
---|
1168 |
|
---|
1169 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ netfpga/bin/nf_regress_test.pl --project driver[1@s[1@u[1@d[1@o[1@
|
---|
1170 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
1171 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
1172 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ man sudo
|
---|
1173 | [?1049h[?1h=
|
---|
1174 | SUDO(8) MAINTENANCE COMMANDS SUDO(8)[m
|
---|
1175 | [m
|
---|
1176 | [1mNAME[0m[m
|
---|
1177 | sudo, sudoedit - execute a command as another user[m
|
---|
1178 | [m
|
---|
1179 | [1mSYNOPSIS[0m[m
|
---|
1180 | [1msudo[0m [[1m-n[0m] [1m-h[0m | [1m-K[0m | [1m-k[0m | [1m-L[0m | [1m-V[0m | [1m-v[0m[m
|
---|
1181 | [m
|
---|
1182 | [1msudo[0m [1m-l[l][0m [[1m-AnS[0m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m] [[1m-U[0m [4musername[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m][m
|
---|
1183 | [[4mcommand[24m][m
|
---|
1184 | [m
|
---|
1185 | [1msudo[0m [[1m-AbEHnPS[0m] [[1m-a[0m [4mauth_type[24m] [[1m-C[0m [4mfd[24m] [[1m-c[0m [4mclass[24m|[4m-[24m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m][m
|
---|
1186 | [[1m-p[0m [4mprompt[24m] [[1m-r[0m [4mrole[24m] [[1m-t[0m [4mtype[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m] [[1mVAR[0m=[4mvalue[24m][m
|
---|
1187 | [[1m-i[0m | [1m-s[0m] [[4mcommand[24m][m
|
---|
1188 | [m
|
---|
1189 | [1msudoedit[0m [[1m-AnS[0m] [[1m-a[0m [4mauth_type[24m] [[1m-C[0m [4mfd[24m] [[1m-c[0m [4mclass[24m|[4m-[24m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m][m
|
---|
1190 | [[1m-p[0m [4mprompt[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m] file ...[m
|
---|
1191 | [m
|
---|
1192 | [1mDESCRIPTION[0m[m
|
---|
1193 | [1msudo[0m allows a permitted user to execute a [4mcommand[24m as the superuser or[m
|
---|
1194 | another user, as specified in the [4msudoers[24m file. The real and effective[m
|
---|
1195 | uid and gid are set to match those of the target user as specified in[m
|
---|
1196 | the passwd file and the group vector is initialized based on the group[m
|
---|
1197 | [7m Manual page sudo(8) line 1[27m[K
|
---|
1198 | [K [KESCESC[KOO[KBB
|
---|
1199 | [K file (unless the [1m-P[0m option was specified). If the invoking user is[m
|
---|
1200 | [7m Manual page sudo(8) line 2[27m[K
|
---|
1201 | [K [KESCESC[KOO[KBB
|
---|
1202 | [K root or if the target user is the same as the invoking user, no[m
|
---|
1203 | [7m Manual page sudo(8) line 5[27m[K
|
---|
1204 | [K [KESCESC[KOO[KBB
|
---|
1205 | [K password is required. Otherwise, [1msudo[0m requires that users authenticate[m
|
---|
1206 | [7m Manual page sudo(8) line 6[27m[K
|
---|
1207 | [K [KESCESC[KOO[KBB
|
---|
1208 | [K themselves with a password by default (NOTE: in the default[m
|
---|
1209 | [7m Manual page sudo(8) line 7[27m[K
|
---|
1210 | [K [KESCESC[KOO[KBB
|
---|
1211 | [K configuration this is the user's password, not the root password).[m
|
---|
1212 | [7m Manual page sudo(8) line 8[27m[K
|
---|
1213 | [K [KESCESC[KOO[KBB
|
---|
1214 | [K Once a user has been authenticated, a timestamp is updated and the user[m
|
---|
1215 | [7m Manual page sudo(8) line 9[27m[K
|
---|
1216 | [K [KESCESC[KOO[KBB
|
---|
1217 | [K may then use sudo without a password for a short period of time (15[m
|
---|
1218 | [7m Manual page sudo(8) line 10[27m[K
|
---|
1219 | [K [KESCESC[KOO[KBB
|
---|
1220 | [K minutes unless overridden in [4msudoers[24m).[m
|
---|
1221 | [7m Manual page sudo(8) line 11[27m[K
|
---|
1222 | [K [KESCESC[KOO[KBB
|
---|
1223 | [K[m
|
---|
1224 | [7m Manual page sudo(8) line 12[27m[K
|
---|
1225 | [K [KESCESC[KOO[KBB
|
---|
1226 | [K When invoked as [1msudoedit[0m, the [1m-e[0m option (described below), is implied.[m
|
---|
1227 | [7m Manual page sudo(8) line 13[27m[K
|
---|
1228 | [K [KESCESC[KOO[KBB
|
---|
1229 | [K[m
|
---|
1230 | [7m Manual page sudo(8) line 14[27m[K
|
---|
1231 | [K [KESCESC[KOO[KBB
|
---|
1232 | [K [1msudo[0m determines who is an authorized user by consulting the file[m
|
---|
1233 | [7m Manual page sudo(8) line 15[27m[K
|
---|
1234 | [K [KESCESC[KOO[KBB
|
---|
1235 | [K [4m@sysconfdir@/sudoers[24m. By running [1msudo[0m with the [1m-v[0m option, a user can[m
|
---|
1236 | [7m Manual page sudo(8) line 16[27m[K
|
---|
1237 | [K [KESCESC[KOO[KBB
|
---|
1238 | [K update the time stamp without running a [4mcommand[24m. The password prompt[m
|
---|
1239 | [7m Manual page sudo(8) line 17[27m[K
|
---|
1240 | [K [KESCESC[KOO[KBB
|
---|
1241 | [K itself will also time out if the user's password is not entered within[m
|
---|
1242 | [7m Manual page sudo(8) line 18[27m[K
|
---|
1243 | [K [KESCESC[KOO[KBB
|
---|
1244 | [K 0 minutes (unless overridden via [4msudoers[24m).[m
|
---|
1245 | [7m Manual page sudo(8) line 19[27m[K
|
---|
1246 | [K [KESCESC[KOO[KBB
|
---|
1247 | [K[m
|
---|
1248 | [7m Manual page sudo(8) line 20[27m[K
|
---|
1249 | [K [KESCESC[KOO[KBB
|
---|
1250 | [K If a user who is not listed in the [4msudoers[24m file tries to run a command[m
|
---|
1251 | [7m Manual page sudo(8) line 21[27m[K
|
---|
1252 | [K [KESCESC[KOO[KBB
|
---|
1253 | [K via [1msudo[0m, mail is sent to the proper authorities, as defined at[m
|
---|
1254 | [7m Manual page sudo(8) line 22[27m[K
|
---|
1255 | [K [KESCESC[KOO[KBB
|
---|
1256 | [K configure time or in the [4msudoers[24m file (defaults to root). Note that[m
|
---|
1257 | [7m Manual page sudo(8) line 23[27m[K
|
---|
1258 | [K [KESCESC[KOO[KBB
|
---|
1259 | [K the mail will not be sent if an unauthorized user tries to run sudo[m
|
---|
1260 | [7m Manual page sudo(8) line 24[27m[K
|
---|
1261 | [K [KESCESC[KOO[KBB
|
---|
1262 | [K with the [1m-l[0m or [1m-v[0m option. This allows users to determine for[m
|
---|
1263 | [7m Manual page sudo(8) line 25[27m[K
|
---|
1264 | [K [KESCESC[KOO[KBB
|
---|
1265 | [K themselves whether or not they are allowed to use [1msudo[0m.[m
|
---|
1266 | [7m Manual page sudo(8) line 26[27m[K
|
---|
1267 | [K [KESCESC[KOO[KBB
|
---|
1268 | [K[m
|
---|
1269 | [7m Manual page sudo(8) line 27[27m[K
|
---|
1270 | [K [KESCESC[KOO[KBB
|
---|
1271 | [K If [1msudo[0m is run by root and the SUDO_USER environment variable is set,[m
|
---|
1272 | [7m Manual page sudo(8) line 28[27m[K
|
---|
1273 | [K [KESCESC[KOO[KBB
|
---|
1274 | [K [1msudo[0m will use this value to determine who the actual user is. This can[m
|
---|
1275 | [7m Manual page sudo(8) line 29[27m[K
|
---|
1276 | [K [KESCESC[KOO[KBB
|
---|
1277 | [K be used by a user to log commands through sudo even when a root shell[m
|
---|
1278 | [7m Manual page sudo(8) line 30[27m[K
|
---|
1279 | [K [KESCESC[KOO[KBB
|
---|
1280 | [K has been invoked. It also allows the [1m-e[0m option to remain useful even[m
|
---|
1281 | [7m Manual page sudo(8) line 31[27m[K
|
---|
1282 | [K [KESCESC[KOO[KBB
|
---|
1283 | [K when being run via a sudo-run script or program. Note however, that[m
|
---|
1284 | [7m Manual page sudo(8) line 32[27m[K
|
---|
1285 | [K [KESCESC[KOO[KBB
|
---|
1286 | [K the sudoers lookup is still done for root, not the user specified by[m
|
---|
1287 | [7m Manual page sudo(8) line 33[27m[K
|
---|
1288 | [K [KESCESC[KOO[KBB
|
---|
1289 | [K SUDO_USER.[m
|
---|
1290 | [7m Manual page sudo(8) line 34[27m[K
|
---|
1291 | [K [KESCESC[KOO[KBB
|
---|
1292 | [K[m
|
---|
1293 | [7m Manual page sudo(8) line 35[27m[K
|
---|
1294 | [K [KESCESC[KOO[KBB
|
---|
1295 | [K [1msudo[0m can log both successful and unsuccessful attempts (as well as[m
|
---|
1296 | [7m Manual page sudo(8) line 36[27m[K
|
---|
1297 | [K [KESCESC[KOO[KBB
|
---|
1298 | [K errors) to [4msyslog[24m(3), a log file, or both. By default [1msudo[0m will log[m
|
---|
1299 | [7m Manual page sudo(8) line 37[27m[K
|
---|
1300 | [K [KESCESC[KOO[KBB
|
---|
1301 | [K via [4msyslog[24m(3) but this is changeable at configure time or via the[m
|
---|
1302 | [7m Manual page sudo(8) line 38[27m[K
|
---|
1303 | [K [KESCESC[KOO[KBB
|
---|
1304 | [K [4msudoers[24m file.[m
|
---|
1305 | [7m Manual page sudo(8) line 39[27m[K
|
---|
1306 | [K [KESCESC[KOO[KBB
|
---|
1307 | [K[m
|
---|
1308 | [7m Manual page sudo(8) line 40[27m[K
|
---|
1309 | [K [KESCESC[KOO[KBB
|
---|
1310 | [K[1mOPTIONS[0m[m
|
---|
1311 | [7m Manual page sudo(8) line 41[27m[K
|
---|
1312 | [K [KESCESC[KOO[KBB
|
---|
1313 | [K [1msudo[0m accepts the following command line options:[m
|
---|
1314 | [7m Manual page sudo(8) line 42[27m[K
|
---|
1315 | [K [KESCESC[KOO[KBB
|
---|
1316 | [K[m
|
---|
1317 | [7m Manual page sudo(8) line 43[27m[K
|
---|
1318 | [K [KESCESC[KOO[KBB
|
---|
1319 | [K -A Normally, if [1msudo[0m requires a password, it will read it from[m
|
---|
1320 | [7m Manual page sudo(8) line 44[27m[K
|
---|
1321 | [K [KESCESC[KOO[KBB
|
---|
1322 | [K the current terminal. If the [1m-A[0m ([4maskpass[24m) option is[m
|
---|
1323 | [7m Manual page sudo(8) line 45[27m[K
|
---|
1324 | [K [KESCESC[KOO[KBB
|
---|
1325 | [K specified, a helper program is executed to read the user's[m
|
---|
1326 | [7m Manual page sudo(8) line 46[27m[K
|
---|
1327 | [K [KESCESC[KOO[KBB
|
---|
1328 | [K password and output the password to the standard output.[m
|
---|
1329 | [7m Manual page sudo(8) line 47[27m[K
|
---|
1330 | [K [KESCESC[KOO[KBB
|
---|
1331 | [K If the SUDO_ASKPASS environment variable is set, it[m
|
---|
1332 | [7m Manual page sudo(8) line 48[27m[K
|
---|
1333 | [K [KESCESC[KOO[KBB
|
---|
1334 | [K specifies the path to the helper program. Otherwise, the[m
|
---|
1335 | [7m Manual page sudo(8) line 49[27m[K
|
---|
1336 | [K [KESCESC[KOO[KBB
|
---|
1337 | [K value specified by the [4maskpass[24m option in [4msudoers[24m(5) is[m
|
---|
1338 | [7m Manual page sudo(8) line 50[27m[K
|
---|
1339 | [K [KESCESC[KOO[KBB
|
---|
1340 | [K used.[m
|
---|
1341 | [7m Manual page sudo(8) line 51[27m[K
|
---|
1342 | [K [KESCESC[KOO[KBB
|
---|
1343 | [K[m
|
---|
1344 | [7m Manual page sudo(8) line 52[27m[K
|
---|
1345 | [K [KESCESC[KOO[KBB
|
---|
1346 | [K -a [4mtype[24m The [1m-a[0m ([4mauthentication[24m [4mtype[24m) option causes [1msudo[0m to use the[m
|
---|
1347 | [7m Manual page sudo(8) line 53[27m[K
|
---|
1348 | [K [KESCESC[KOO[KBB
|
---|
1349 | [K specified authentication type when validating the user, as[m
|
---|
1350 | [7m Manual page sudo(8) line 54[27m[K
|
---|
1351 | [K [KESCESC[KOO[KBB
|
---|
1352 | [K allowed by [4m/etc/login.conf[24m. The system administrator may[m
|
---|
1353 | [7m Manual page sudo(8) line 55[27m[K
|
---|
1354 | [K [KESCESC[KOO[KBB
|
---|
1355 | [K specify a list of sudo-specific authentication methods by[m
|
---|
1356 | [7m Manual page sudo(8) line 56[27m[K
|
---|
1357 | [K [KESCESC[KOO[KBB
|
---|
1358 | [K adding an "auth-sudo" entry in [4m/etc/login.conf[24m. This[m
|
---|
1359 | [7m Manual page sudo(8) line 57[27m[K
|
---|
1360 | [K [KESCESC[KOO[KBB
|
---|
1361 | [K option is only available on systems that support BSD[m
|
---|
1362 | [7m Manual page sudo(8) line 58[27m[K
|
---|
1363 | [K [KESCESC[KOO[KBB
|
---|
1364 | [K authentication.[m
|
---|
1365 | [7m Manual page sudo(8) line 59[27m[K
|
---|
1366 | [K [KESCESC[KOO[KBB
|
---|
1367 | [K[m
|
---|
1368 | [7m Manual page sudo(8) line 60[27m[K
|
---|
1369 | [K [KESCESC[KOO[KBB
|
---|
1370 | [K -b The [1m-b[0m ([4mbackground[24m) option tells [1msudo[0m to run the given[m
|
---|
1371 | [7m Manual page sudo(8) line 61[27m[K
|
---|
1372 | [K [KESCESC[KOO[KBB
|
---|
1373 | [K command in the background. Note that if you use the [1m-b[0m[m
|
---|
1374 | [7m Manual page sudo(8) line 62[27m[K
|
---|
1375 | [K [KESCESC[KOO[KBB
|
---|
1376 | [K option you cannot use shell job control to manipulate the[m
|
---|
1377 | [7m Manual page sudo(8) line 63[27m[K
|
---|
1378 | [K [KESCESC[KOO[KBB
|
---|
1379 | [K process.[m
|
---|
1380 | [7m Manual page sudo(8) line 64[27m[K
|
---|
1381 | [K [KESCESC[KOO[KBB
|
---|
1382 | [K[m
|
---|
1383 | [7m Manual page sudo(8) line 65[27m[K
|
---|
1384 | [K [KESCESC[KOO[KBB
|
---|
1385 | [K -C [4mfd[24m Normally, [1msudo[0m will close all open file descriptors other[m
|
---|
1386 | [7m Manual page sudo(8) line 66[27m[K
|
---|
1387 | [K [KESCESC[KOO[KBB
|
---|
1388 | [K than standard input, standard output and standard error.[m
|
---|
1389 | [7m Manual page sudo(8) line 67[27m[K
|
---|
1390 | [K [KESCESC[KOO[KBB
|
---|
1391 | [K The [1m-C[0m ([4mclose[24m [4mfrom[24m) option allows the user to specify a[m
|
---|
1392 | [7m Manual page sudo(8) line 68[27m[K
|
---|
1393 | [K [KESCESC[KOO[KBB
|
---|
1394 | [K starting point above the standard error (file descriptor[m
|
---|
1395 | [7m Manual page sudo(8) line 69[27m[K
|
---|
1396 | [K [KESCESC[KOO[KBB
|
---|
1397 | [K three). Values less than three are not permitted. This[m
|
---|
1398 | [7m Manual page sudo(8) line 70[27m[K
|
---|
1399 | [K [KESCESC[KOO[KBB
|
---|
1400 | [K option is only available if the administrator has enabled[m
|
---|
1401 | [7m Manual page sudo(8) line 71[27m[K
|
---|
1402 | [K [KESCESC[KOO[KBB
|
---|
1403 | [K the [4mclosefrom_override[24m option in [4msudoers[24m(5).[m
|
---|
1404 | [7m Manual page sudo(8) line 72[27m[K
|
---|
1405 | [K [KESCESC[KOO[KBB
|
---|
1406 | [K[m
|
---|
1407 | [7m Manual page sudo(8) line 73[27m[K
|
---|
1408 | [K [KESCESC[KOO[KBB
|
---|
1409 | [K -c [4mclass[24m The [1m-c[0m ([4mclass[24m) option causes [1msudo[0m to run the specified[m
|
---|
1410 | [7m Manual page sudo(8) line 74[27m[K
|
---|
1411 | [K [KESCESC[KOO[KBB
|
---|
1412 | [K command with resources limited by the specified login[m
|
---|
1413 | [7m Manual page sudo(8) line 75[27m[K
|
---|
1414 | [K [KESCESC[KOO[KBB
|
---|
1415 | [K class. The [4mclass[24m argument can be either a class name as[m
|
---|
1416 | [7m Manual page sudo(8) line 76[27m[K
|
---|
1417 | [K [KESCESC[KOO[KBB
|
---|
1418 | [K defined in [4m/etc/login.conf[24m, or a single '-' character.[m
|
---|
1419 | [7m Manual page sudo(8) line 77[27m[K
|
---|
1420 | [K [KESCESC[KOO[KBB
|
---|
1421 | [K Specifying a [4mclass[24m of - indicates that the command should[m
|
---|
1422 | [7m Manual page sudo(8) line 78[27m[K
|
---|
1423 | [K [KESCESC[KOO[KBB
|
---|
1424 | [K be run restricted by the default login capabilities for the[m
|
---|
1425 | [7m Manual page sudo(8) line 79[27m[K
|
---|
1426 | [K [KESCESC[KOO[KBB
|
---|
1427 | [K user the command is run as. If the [4mclass[24m argument[m
|
---|
1428 | [7m Manual page sudo(8) line 80[27m[K
|
---|
1429 | [K [KESCESC[KOO[KBB
|
---|
1430 | [K specifies an existing user class, the command must be run[m
|
---|
1431 | [7m Manual page sudo(8) line 81[27m[K
|
---|
1432 | [K [KESCESC[KOO[KBB
|
---|
1433 | [K as root, or the [1msudo[0m command must be run from a shell that[m
|
---|
1434 | [7m Manual page sudo(8) line 82[27m[K
|
---|
1435 | [K [KESCESC[KOO[KBB
|
---|
1436 | [K is already root. This option is only available on systems[m
|
---|
1437 | [7m Manual page sudo(8) line 83[27m[K
|
---|
1438 | [K [KESCESC[KOO[KBB
|
---|
1439 | [K with BSD login classes.[m
|
---|
1440 | [7m Manual page sudo(8) line 84[27m[K
|
---|
1441 | [K [KESCESC[KOO[KBB
|
---|
1442 | [K[m
|
---|
1443 | [7m Manual page sudo(8) line 85[27m[K
|
---|
1444 | [K [KESCESC[KOO[KBB
|
---|
1445 | [K -E The [1m-E[0m ([4mpreserve[24m [4menvironment[24m) option will override the[m
|
---|
1446 | [7m Manual page sudo(8) line 86[27m[K
|
---|
1447 | [K [KESCESC[KOO[KBB
|
---|
1448 | [K [4menv_reset[24m option in [4msudoers[24m(5)). It is only available when[m
|
---|
1449 | [7m Manual page sudo(8) line 87[27m[K
|
---|
1450 | [K [KESCESC[KOO[KBB
|
---|
1451 | [K either the matching command has the SETENV tag or the[m
|
---|
1452 | [7m Manual page sudo(8) line 88[27m[K
|
---|
1453 | [K [KESCESC[KOO[KBB
|
---|
1454 | [K [4msetenv[24m option is set in [4msudoers[24m(5).[m
|
---|
1455 | [7m Manual page sudo(8) line 89[27m[K
|
---|
1456 | [K [KESCESC[KOO[KBB
|
---|
1457 | [K[m
|
---|
1458 | [7m Manual page sudo(8) line 90[27m[K
|
---|
1459 | [K [KESCESC[KOO[KBB
|
---|
1460 | [K -e The [1m-e[0m ([4medit[24m) option indicates that, instead of running a[m
|
---|
1461 | [7m Manual page sudo(8) line 91[27m[K
|
---|
1462 | [K [KESCESC[KOO[KBB
|
---|
1463 | [K command, the user wishes to edit one or more files. In[m
|
---|
1464 | [7m Manual page sudo(8) line 92[27m[K
|
---|
1465 | [K [KESCESC[KOO[KBB
|
---|
1466 | [K lieu of a command, the string "sudoedit" is used when[m
|
---|
1467 | [7m Manual page sudo(8) line 93[27m[K
|
---|
1468 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ man sudosudo netfpga/bin/nf_regress_test.pl --project driver[C[C[C[C[C[1@-[1@E[1@
|
---|
1469 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
1470 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
1471 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ set
|
---|
1472 | BASH=/bin/bash
|
---|
1473 | BASH_ALIASES=()
|
---|
1474 | BASH_ARGC=()
|
---|
1475 | BASH_ARGV=()
|
---|
1476 | BASH_CMDS=()
|
---|
1477 | BASH_COMPLETION=/etc/bash_completion
|
---|
1478 | BASH_COMPLETION_DIR=/etc/bash_completion.d
|
---|
1479 | BASH_LINENO=()
|
---|
1480 | BASH_SOURCE=()
|
---|
1481 | BASH_VERSINFO=([0]="4" [1]="0" [2]="33" [3]="1" [4]="release" [5]="i486-pc-linux-gnu")
|
---|
1482 | BASH_VERSION='4.0.33(1)-release'
|
---|
1483 | COLUMNS=80
|
---|
1484 | COMP_WORDBREAKS=$' \t\n"\'><=;|&(:'
|
---|
1485 | DIRSTACK=()
|
---|
1486 | EUID=1001
|
---|
1487 | GROUPS=()
|
---|
1488 | HISTCONTROL=ignoreboth
|
---|
1489 | HISTFILE=/home/netfpga/.bash_history
|
---|
1490 | HISTFILESIZE=500
|
---|
1491 | HISTSIZE=500
|
---|
1492 | HOME=/home/netfpga
|
---|
1493 | HOSTNAME=node1-1.sb9.orbit-lab.org
|
---|
1494 | HOSTTYPE=i486
|
---|
1495 | IFS=$' \t\n'
|
---|
1496 | LANG=en_US.UTF-8
|
---|
1497 | LD_LIBRARY_PATH=/home/netfpga/netfpga/lib/java/NetFPGAFrontEnd/bin:
|
---|
1498 | LESSCLOSE='/usr/bin/lesspipe %s %s'
|
---|
1499 | LESSOPEN='| /usr/bin/lesspipe %s'
|
---|
1500 | LINES=24
|
---|
1501 | LOGNAME=netfpga
|
---|
1502 | LS_COLORS='rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'
|
---|
1503 | MACHTYPE=i486-pc-linux-gnu
|
---|
1504 | MAIL=/var/mail/netfpga
|
---|
1505 | MAILCHECK=60
|
---|
1506 | NF_DESIGN_DIR=/home/netfpga/netfpga/projects/reference_nic
|
---|
1507 | NF_ROOT=/home/netfpga/netfpga
|
---|
1508 | NF_WORK_DIR=/tmp/netfpga
|
---|
1509 | OPTERR=1
|
---|
1510 | OPTIND=1
|
---|
1511 | OSTYPE=linux-gnu
|
---|
1512 | PATH=/home/netfpga/netfpga/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
|
---|
1513 | PERL5LIB=/home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
1514 | PIPESTATUS=([0]="2")
|
---|
1515 | PPID=13207
|
---|
1516 | PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
---|
1517 | PS2='> '
|
---|
1518 | PS4='+ '
|
---|
1519 | PWD=/home/netfpga
|
---|
1520 | PYTHONPATH=:/home/netfpga/netfpga/lib/python
|
---|
1521 | SHELL=/bin/bash
|
---|
1522 | SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
|
---|
1523 | SHLVL=1
|
---|
1524 | SSH_CLIENT='10.19.0.10 59446 22'
|
---|
1525 | SSH_CONNECTION='10.19.0.10 59446 10.19.1.1 22'
|
---|
1526 | SSH_TTY=/dev/pts/0
|
---|
1527 | TERM=xterm
|
---|
1528 | UID=1001
|
---|
1529 | USER=netfpga
|
---|
1530 | USERLAND=GNU
|
---|
1531 | _=driver
|
---|
1532 | __git_all_commandlist=$'add\ngrep\nread-tree\nhash-object\nrebase\nam\nhelp\nannotate\nhttp-fetch\nreceive-pack\napply\nhttp-push\nreflog\narchive\nimap-send\nrelink\nbisect\nindex-pack\nremote\ninit\nrepack\nblame\ninit-db\nrepo-config\nbranch\ninstaweb\nrequest-pull\nbundle\nlog\nrerere\ncat-file\nlost-found\nreset\ncheck-attr\nls-files\nrev-list\ncheck-ref-format\nls-remote\nrev-parse\ncheckout\nls-tree\nrevert\ncheckout-index\nmailinfo\nrm\ncherry\nmailsplit\nsend-pack\ncherry-pick\nmerge\nsh-setup\nclean\nmerge-base\nshell\nclone\nmerge-file\nshortlog\ncommit\nmerge-index\nshow\ncommit-tree\nmerge-octopus\nshow-branch\nconfig\nmerge-one-file\nshow-index\ncount-objects\nmerge-ours\nshow-ref\ndaemon\nmerge-recursive\nstage\ndescribe\nmerge-resolve\nstash\ndiff\nmerge-subtree\nstatus\ndiff-files\nmerge-tree\nstripspace\ndiff-index\nmergetool\nsubmodule\ndiff-tree\nsymbolic-ref\ndifftool\nmktag\ntag\nmktree\ntar-tree\nfast-export\nmv\nunpack-file\nfast-import\nname-rev\nunpack-objects\nfetch\npack-objects\nupdate-index\npack-redundant\nupdate-ref\nfetch-pack\npack-refs\nupdate-server-info\nfilter-branch\nparse-remote\nupload-archive\nfmt-merge-msg\npatch-id\nupload-pack\nfor-each-ref\npeek-remote\nvar\nformat-patch\nprune\nverify-pack\nfsck\nprune-packed\nverify-tag\nfsck-objects\npull\ngc\npush\nwhatchanged\nget-tar-commit-id\nquiltimport\nwrite-tree'
|
---|
1533 | __git_diff_common_options=$'--stat --numstat --shortstat --summary\n\t\t\t--patch-with-stat --name-only --name-status --color\n\t\t\t--no-color --color-words --no-renames --check\n\t\t\t--full-index --binary --abbrev --diff-filter=\n\t\t\t--find-copies-harder\n\t\t\t--text --ignore-space-at-eol --ignore-space-change\n\t\t\t--ignore-all-space --exit-code --quiet --ext-diff\n\t\t\t--no-ext-diff\n\t\t\t--no-prefix --src-prefix= --dst-prefix=\n\t\t\t--inter-hunk-context=\n\t\t\t--patience\n\t\t\t--raw\n'
|
---|
1534 | __git_fetch_options=$'\n\t--quiet --verbose --append --upload-pack --force --keep --depth=\n\t--tags --no-tags\n'
|
---|
1535 | __git_log_common_options=$'\n\t--not --all\n\t--branches --tags --remotes\n\t--first-parent --no-merges\n\t--max-count=\n\t--max-age= --since= --after=\n\t--min-age= --until= --before=\n'
|
---|
1536 | __git_log_date_formats='relative iso8601 rfc2822 short local default raw'
|
---|
1537 | __git_log_gitk_options=$'\n\t--dense --sparse --full-history\n\t--simplify-merges --simplify-by-decoration\n\t--left-right\n'
|
---|
1538 | __git_log_pretty_formats='oneline short medium full fuller email raw format:'
|
---|
1539 | __git_log_shortlog_options=$'\n\t--author= --committer= --grep=\n\t--all-match\n'
|
---|
1540 | __git_merge_options=$'\n\t--no-commit --no-stat --log --no-log --squash --strategy\n\t--commit --stat --no-squash --ff --no-ff\n'
|
---|
1541 | __git_merge_strategylist=
|
---|
1542 | __git_mergetools_common=$'diffuse ecmerge emerge kdiff3 meld opendiff\n\t\t\ttkdiff vimdiff gvimdiff xxdiff\n'
|
---|
1543 | __git_porcelain_commandlist=$'help\nadd\ngrep\nrebase\nam\nhelp\nannotate\napply\narchive\nimap-send\nrelink\nbisect\nremote\ninit\nrepack\nblame\nbranch\ninstaweb\nrequest-pull\nbundle\nlog\nreset\ncheckout\nrevert\nrm\ncherry\ncherry-pick\nmerge\nclean\nclone\nshortlog\ncommit\nshow\nshow-branch\nconfig\nstage\ndescribe\nstash\ndiff\nstatus\nmergetool\nsubmodule\ndifftool\ntag\nmv\nname-rev\nfetch\nfilter-branch\nformat-patch\nfsck\npull\ngc\npush\nwhatchanged\nget-tar-commit-id'
|
---|
1544 | __git_send_email_confirm_options='always never auto cc compose'
|
---|
1545 | __git_send_email_suppresscc_options='author self cc ccbody sob cccmd body all'
|
---|
1546 | __git_whitespacelist='nowarn warn error error-all fix'
|
---|
1547 | bash205='4.0.33(1)-release'
|
---|
1548 | bash205b='4.0.33(1)-release'
|
---|
1549 | bash3='4.0.33(1)-release'
|
---|
1550 | __git_aliased_command ()
|
---|
1551 | {
|
---|
1552 | local word cmdline=$(git --git-dir="$(__gitdir)" config --get "alias.$1");
|
---|
1553 | for word in $cmdline;
|
---|
1554 | do
|
---|
1555 | if [ "${word##-*}" ]; then
|
---|
1556 | echo $word;
|
---|
1557 | return;
|
---|
1558 | fi;
|
---|
1559 | done
|
---|
1560 | }
|
---|
1561 | __git_aliases ()
|
---|
1562 | {
|
---|
1563 | local i IFS='
|
---|
1564 | ';
|
---|
1565 | for i in $(git --git-dir="$(__gitdir)" config --list);
|
---|
1566 | do
|
---|
1567 | case "$i" in
|
---|
1568 | alias.*)
|
---|
1569 | i="${i#alias.}";
|
---|
1570 | echo "${i/=*/}"
|
---|
1571 | ;;
|
---|
1572 | esac;
|
---|
1573 | done
|
---|
1574 | }
|
---|
1575 | __git_all_commands ()
|
---|
1576 | {
|
---|
1577 | if [ -n "${__git_all_commandlist-}" ]; then
|
---|
1578 | echo "$__git_all_commandlist";
|
---|
1579 | return;
|
---|
1580 | fi;
|
---|
1581 | local i IFS=" "'
|
---|
1582 | ';
|
---|
1583 | for i in $(git help -a|egrep '^ ');
|
---|
1584 | do
|
---|
1585 | case $i in
|
---|
1586 | *--*)
|
---|
1587 | : helper pattern
|
---|
1588 | ;;
|
---|
1589 | *)
|
---|
1590 | echo $i
|
---|
1591 | ;;
|
---|
1592 | esac;
|
---|
1593 | done
|
---|
1594 | }
|
---|
1595 | __git_complete_file ()
|
---|
1596 | {
|
---|
1597 | local pfx ls ref cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
1598 | case "$cur" in
|
---|
1599 | ?*:*)
|
---|
1600 | ref="${cur%%:*}";
|
---|
1601 | cur="${cur#*:}";
|
---|
1602 | case "$cur" in
|
---|
1603 | ?*/*)
|
---|
1604 | pfx="${cur%/*}";
|
---|
1605 | cur="${cur##*/}";
|
---|
1606 | ls="$ref:$pfx";
|
---|
1607 | pfx="$pfx/"
|
---|
1608 | ;;
|
---|
1609 | *)
|
---|
1610 | ls="$ref"
|
---|
1611 | ;;
|
---|
1612 | esac;
|
---|
1613 | case "$COMP_WORDBREAKS" in
|
---|
1614 | *:*)
|
---|
1615 | : great
|
---|
1616 | ;;
|
---|
1617 | *)
|
---|
1618 | pfx="$ref:$pfx"
|
---|
1619 | ;;
|
---|
1620 | esac;
|
---|
1621 | local IFS='
|
---|
1622 | ';
|
---|
1623 | COMPREPLY=($(compgen -P "$pfx" -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" | sed '/^100... blob /{
|
---|
1624 | s,^.* ,,
|
---|
1625 | s,$, ,
|
---|
1626 | }
|
---|
1627 | /^120000 blob /{
|
---|
1628 | s,^.* ,,
|
---|
1629 | s,$, ,
|
---|
1630 | }
|
---|
1631 | /^040000 tree /{
|
---|
1632 | s,^.* ,,
|
---|
1633 | s,$,/,
|
---|
1634 | }
|
---|
1635 | s/^.* //')" -- "$cur"))
|
---|
1636 | ;;
|
---|
1637 | *)
|
---|
1638 | __gitcomp "$(__git_refs)"
|
---|
1639 | ;;
|
---|
1640 | esac
|
---|
1641 | }
|
---|
1642 | __git_complete_remote_or_refspec ()
|
---|
1643 | {
|
---|
1644 | local cmd="${COMP_WORDS[1]}";
|
---|
1645 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
1646 | local i c=2 remote="" pfx="" lhs=1 no_complete_refspec=0;
|
---|
1647 | while [ $c -lt $COMP_CWORD ]; do
|
---|
1648 | i="${COMP_WORDS[c]}";
|
---|
1649 | case "$i" in
|
---|
1650 | --all | --mirror)
|
---|
1651 | [ "$cmd" = "push" ] && no_complete_refspec=1
|
---|
1652 | ;;
|
---|
1653 | -*)
|
---|
1654 |
|
---|
1655 | ;;
|
---|
1656 | *)
|
---|
1657 | remote="$i";
|
---|
1658 | break
|
---|
1659 | ;;
|
---|
1660 | esac;
|
---|
1661 | c=$((++c));
|
---|
1662 | done;
|
---|
1663 | if [ -z "$remote" ]; then
|
---|
1664 | __gitcomp "$(__git_remotes)";
|
---|
1665 | return;
|
---|
1666 | fi;
|
---|
1667 | if [ $no_complete_refspec = 1 ]; then
|
---|
1668 | COMPREPLY=();
|
---|
1669 | return;
|
---|
1670 | fi;
|
---|
1671 | [ "$remote" = "." ] && remote=;
|
---|
1672 | case "$cur" in
|
---|
1673 | *:*)
|
---|
1674 | case "$COMP_WORDBREAKS" in
|
---|
1675 | *:*)
|
---|
1676 | : great
|
---|
1677 | ;;
|
---|
1678 | *)
|
---|
1679 | pfx="${cur%%:*}:"
|
---|
1680 | ;;
|
---|
1681 | esac;
|
---|
1682 | cur="${cur#*:}";
|
---|
1683 | lhs=0
|
---|
1684 | ;;
|
---|
1685 | +*)
|
---|
1686 | pfx="+";
|
---|
1687 | cur="${cur#+}"
|
---|
1688 | ;;
|
---|
1689 | esac;
|
---|
1690 | case "$cmd" in
|
---|
1691 | fetch)
|
---|
1692 | if [ $lhs = 1 ]; then
|
---|
1693 | __gitcomp "$(__git_refs2 "$remote")" "$pfx" "$cur";
|
---|
1694 | else
|
---|
1695 | __gitcomp "$(__git_refs)" "$pfx" "$cur";
|
---|
1696 | fi
|
---|
1697 | ;;
|
---|
1698 | pull)
|
---|
1699 | if [ $lhs = 1 ]; then
|
---|
1700 | __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur";
|
---|
1701 | else
|
---|
1702 | __gitcomp "$(__git_refs)" "$pfx" "$cur";
|
---|
1703 | fi
|
---|
1704 | ;;
|
---|
1705 | push)
|
---|
1706 | if [ $lhs = 1 ]; then
|
---|
1707 | __gitcomp "$(__git_refs)" "$pfx" "$cur";
|
---|
1708 | else
|
---|
1709 | __gitcomp "$(__git_refs "$remote")" "$pfx" "$cur";
|
---|
1710 | fi
|
---|
1711 | ;;
|
---|
1712 | esac
|
---|
1713 | }
|
---|
1714 | __git_complete_revlist ()
|
---|
1715 | {
|
---|
1716 | local pfx cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
1717 | case "$cur" in
|
---|
1718 | *...*)
|
---|
1719 | pfx="${cur%...*}...";
|
---|
1720 | cur="${cur#*...}";
|
---|
1721 | __gitcomp "$(__git_refs)" "$pfx" "$cur"
|
---|
1722 | ;;
|
---|
1723 | *..*)
|
---|
1724 | pfx="${cur%..*}..";
|
---|
1725 | cur="${cur#*..}";
|
---|
1726 | __gitcomp "$(__git_refs)" "$pfx" "$cur"
|
---|
1727 | ;;
|
---|
1728 | *)
|
---|
1729 | __gitcomp "$(__git_refs)"
|
---|
1730 | ;;
|
---|
1731 | esac
|
---|
1732 | }
|
---|
1733 | __git_complete_strategy ()
|
---|
1734 | {
|
---|
1735 | case "${COMP_WORDS[COMP_CWORD-1]}" in
|
---|
1736 | -s | --strategy)
|
---|
1737 | __gitcomp "$(__git_merge_strategies)";
|
---|
1738 | return 0
|
---|
1739 | ;;
|
---|
1740 | esac;
|
---|
1741 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
1742 | case "$cur" in
|
---|
1743 | --strategy=*)
|
---|
1744 | __gitcomp "$(__git_merge_strategies)" "" "${cur##--strategy=}";
|
---|
1745 | return 0
|
---|
1746 | ;;
|
---|
1747 | esac;
|
---|
1748 | return 1
|
---|
1749 | }
|
---|
1750 | __git_find_subcommand ()
|
---|
1751 | {
|
---|
1752 | local word subcommand c=1;
|
---|
1753 | while [ $c -lt $COMP_CWORD ]; do
|
---|
1754 | word="${COMP_WORDS[c]}";
|
---|
1755 | for subcommand in $1;
|
---|
1756 | do
|
---|
1757 | if [ "$subcommand" = "$word" ]; then
|
---|
1758 | echo "$subcommand";
|
---|
1759 | return;
|
---|
1760 | fi;
|
---|
1761 | done;
|
---|
1762 | c=$((++c));
|
---|
1763 | done
|
---|
1764 | }
|
---|
1765 | __git_has_doubledash ()
|
---|
1766 | {
|
---|
1767 | local c=1;
|
---|
1768 | while [ $c -lt $COMP_CWORD ]; do
|
---|
1769 | if [ "--" = "${COMP_WORDS[c]}" ]; then
|
---|
1770 | return 0;
|
---|
1771 | fi;
|
---|
1772 | c=$((++c));
|
---|
1773 | done;
|
---|
1774 | return 1
|
---|
1775 | }
|
---|
1776 | __git_heads ()
|
---|
1777 | {
|
---|
1778 | local cmd i is_hash=y dir="$(__gitdir "${1-}")";
|
---|
1779 | if [ -d "$dir" ]; then
|
---|
1780 | git --git-dir="$dir" for-each-ref --format='%(refname:short)' refs/heads;
|
---|
1781 | return;
|
---|
1782 | fi;
|
---|
1783 | for i in $(git ls-remote "${1-}" 2>/dev/null);
|
---|
1784 | do
|
---|
1785 | case "$is_hash,$i" in
|
---|
1786 | y,*)
|
---|
1787 | is_hash=n
|
---|
1788 | ;;
|
---|
1789 | n,*^{})
|
---|
1790 | is_hash=y
|
---|
1791 | ;;
|
---|
1792 | n,refs/heads/*)
|
---|
1793 | is_hash=y;
|
---|
1794 | echo "${i#refs/heads/}"
|
---|
1795 | ;;
|
---|
1796 | n,*)
|
---|
1797 | is_hash=y;
|
---|
1798 | echo "$i"
|
---|
1799 | ;;
|
---|
1800 | esac;
|
---|
1801 | done
|
---|
1802 | }
|
---|
1803 | __git_merge_strategies ()
|
---|
1804 | {
|
---|
1805 | if [ -n "${__git_merge_strategylist-}" ]; then
|
---|
1806 | echo "$__git_merge_strategylist";
|
---|
1807 | return;
|
---|
1808 | fi;
|
---|
1809 | git merge -s help 2>&1 | sed -n -e '/[Aa]vailable strategies are: /,/^$/{
|
---|
1810 | s/\.$//
|
---|
1811 | s/.*://
|
---|
1812 | s/^[ ]*//
|
---|
1813 | s/[ ]*$//
|
---|
1814 | p
|
---|
1815 | }'
|
---|
1816 | }
|
---|
1817 | __git_porcelain_commands ()
|
---|
1818 | {
|
---|
1819 | if [ -n "${__git_porcelain_commandlist-}" ]; then
|
---|
1820 | echo "$__git_porcelain_commandlist";
|
---|
1821 | return;
|
---|
1822 | fi;
|
---|
1823 | local i IFS=" "'
|
---|
1824 | ';
|
---|
1825 | for i in "help" $(__git_all_commands);
|
---|
1826 | do
|
---|
1827 | case $i in
|
---|
1828 | *--*)
|
---|
1829 | : helper pattern
|
---|
1830 | ;;
|
---|
1831 | applymbox)
|
---|
1832 | : ask gittus
|
---|
1833 | ;;
|
---|
1834 | applypatch)
|
---|
1835 | : ask gittus
|
---|
1836 | ;;
|
---|
1837 | archimport)
|
---|
1838 | : import
|
---|
1839 | ;;
|
---|
1840 | cat-file)
|
---|
1841 | : plumbing
|
---|
1842 | ;;
|
---|
1843 | check-attr)
|
---|
1844 | : plumbing
|
---|
1845 | ;;
|
---|
1846 | check-ref-format)
|
---|
1847 | : plumbing
|
---|
1848 | ;;
|
---|
1849 | checkout-index)
|
---|
1850 | : plumbing
|
---|
1851 | ;;
|
---|
1852 | commit-tree)
|
---|
1853 | : plumbing
|
---|
1854 | ;;
|
---|
1855 | count-objects)
|
---|
1856 | : infrequent
|
---|
1857 | ;;
|
---|
1858 | cvsexportcommit)
|
---|
1859 | : export
|
---|
1860 | ;;
|
---|
1861 | cvsimport)
|
---|
1862 | : import
|
---|
1863 | ;;
|
---|
1864 | cvsserver)
|
---|
1865 | : daemon
|
---|
1866 | ;;
|
---|
1867 | daemon)
|
---|
1868 | : daemon
|
---|
1869 | ;;
|
---|
1870 | diff-files)
|
---|
1871 | : plumbing
|
---|
1872 | ;;
|
---|
1873 | diff-index)
|
---|
1874 | : plumbing
|
---|
1875 | ;;
|
---|
1876 | diff-tree)
|
---|
1877 | : plumbing
|
---|
1878 | ;;
|
---|
1879 | fast-import)
|
---|
1880 | : import
|
---|
1881 | ;;
|
---|
1882 | fast-export)
|
---|
1883 | : export
|
---|
1884 | ;;
|
---|
1885 | fsck-objects)
|
---|
1886 | : plumbing
|
---|
1887 | ;;
|
---|
1888 | fetch-pack)
|
---|
1889 | : plumbing
|
---|
1890 | ;;
|
---|
1891 | fmt-merge-msg)
|
---|
1892 | : plumbing
|
---|
1893 | ;;
|
---|
1894 | for-each-ref)
|
---|
1895 | : plumbing
|
---|
1896 | ;;
|
---|
1897 | hash-object)
|
---|
1898 | : plumbing
|
---|
1899 | ;;
|
---|
1900 | http-*)
|
---|
1901 | : transport
|
---|
1902 | ;;
|
---|
1903 | index-pack)
|
---|
1904 | : plumbing
|
---|
1905 | ;;
|
---|
1906 | init-db)
|
---|
1907 | : deprecated
|
---|
1908 | ;;
|
---|
1909 | local-fetch)
|
---|
1910 | : plumbing
|
---|
1911 | ;;
|
---|
1912 | lost-found)
|
---|
1913 | : infrequent
|
---|
1914 | ;;
|
---|
1915 | ls-files)
|
---|
1916 | : plumbing
|
---|
1917 | ;;
|
---|
1918 | ls-remote)
|
---|
1919 | : plumbing
|
---|
1920 | ;;
|
---|
1921 | ls-tree)
|
---|
1922 | : plumbing
|
---|
1923 | ;;
|
---|
1924 | mailinfo)
|
---|
1925 | : plumbing
|
---|
1926 | ;;
|
---|
1927 | mailsplit)
|
---|
1928 | : plumbing
|
---|
1929 | ;;
|
---|
1930 | merge-*)
|
---|
1931 | : plumbing
|
---|
1932 | ;;
|
---|
1933 | mktree)
|
---|
1934 | : plumbing
|
---|
1935 | ;;
|
---|
1936 | mktag)
|
---|
1937 | : plumbing
|
---|
1938 | ;;
|
---|
1939 | pack-objects)
|
---|
1940 | : plumbing
|
---|
1941 | ;;
|
---|
1942 | pack-redundant)
|
---|
1943 | : plumbing
|
---|
1944 | ;;
|
---|
1945 | pack-refs)
|
---|
1946 | : plumbing
|
---|
1947 | ;;
|
---|
1948 | parse-remote)
|
---|
1949 | : plumbing
|
---|
1950 | ;;
|
---|
1951 | patch-id)
|
---|
1952 | : plumbing
|
---|
1953 | ;;
|
---|
1954 | peek-remote)
|
---|
1955 | : plumbing
|
---|
1956 | ;;
|
---|
1957 | prune)
|
---|
1958 | : plumbing
|
---|
1959 | ;;
|
---|
1960 | prune-packed)
|
---|
1961 | : plumbing
|
---|
1962 | ;;
|
---|
1963 | quiltimport)
|
---|
1964 | : import
|
---|
1965 | ;;
|
---|
1966 | read-tree)
|
---|
1967 | : plumbing
|
---|
1968 | ;;
|
---|
1969 | receive-pack)
|
---|
1970 | : plumbing
|
---|
1971 | ;;
|
---|
1972 | reflog)
|
---|
1973 | : plumbing
|
---|
1974 | ;;
|
---|
1975 | repo-config)
|
---|
1976 | : deprecated
|
---|
1977 | ;;
|
---|
1978 | rerere)
|
---|
1979 | : plumbing
|
---|
1980 | ;;
|
---|
1981 | rev-list)
|
---|
1982 | : plumbing
|
---|
1983 | ;;
|
---|
1984 | rev-parse)
|
---|
1985 | : plumbing
|
---|
1986 | ;;
|
---|
1987 | runstatus)
|
---|
1988 | : plumbing
|
---|
1989 | ;;
|
---|
1990 | sh-setup)
|
---|
1991 | : internal
|
---|
1992 | ;;
|
---|
1993 | shell)
|
---|
1994 | : daemon
|
---|
1995 | ;;
|
---|
1996 | show-ref)
|
---|
1997 | : plumbing
|
---|
1998 | ;;
|
---|
1999 | send-pack)
|
---|
2000 | : plumbing
|
---|
2001 | ;;
|
---|
2002 | show-index)
|
---|
2003 | : plumbing
|
---|
2004 | ;;
|
---|
2005 | ssh-*)
|
---|
2006 | : transport
|
---|
2007 | ;;
|
---|
2008 | stripspace)
|
---|
2009 | : plumbing
|
---|
2010 | ;;
|
---|
2011 | symbolic-ref)
|
---|
2012 | : plumbing
|
---|
2013 | ;;
|
---|
2014 | tar-tree)
|
---|
2015 | : deprecated
|
---|
2016 | ;;
|
---|
2017 | unpack-file)
|
---|
2018 | : plumbing
|
---|
2019 | ;;
|
---|
2020 | unpack-objects)
|
---|
2021 | : plumbing
|
---|
2022 | ;;
|
---|
2023 | update-index)
|
---|
2024 | : plumbing
|
---|
2025 | ;;
|
---|
2026 | update-ref)
|
---|
2027 | : plumbing
|
---|
2028 | ;;
|
---|
2029 | update-server-info)
|
---|
2030 | : daemon
|
---|
2031 | ;;
|
---|
2032 | upload-archive)
|
---|
2033 | : plumbing
|
---|
2034 | ;;
|
---|
2035 | upload-pack)
|
---|
2036 | : plumbing
|
---|
2037 | ;;
|
---|
2038 | write-tree)
|
---|
2039 | : plumbing
|
---|
2040 | ;;
|
---|
2041 | var)
|
---|
2042 | : infrequent
|
---|
2043 | ;;
|
---|
2044 | verify-pack)
|
---|
2045 | : infrequent
|
---|
2046 | ;;
|
---|
2047 | verify-tag)
|
---|
2048 | : plumbing
|
---|
2049 | ;;
|
---|
2050 | *)
|
---|
2051 | echo $i
|
---|
2052 | ;;
|
---|
2053 | esac;
|
---|
2054 | done
|
---|
2055 | }
|
---|
2056 | __git_ps1 ()
|
---|
2057 | {
|
---|
2058 | local g="$(__gitdir)";
|
---|
2059 | if [ -n "$g" ]; then
|
---|
2060 | local r;
|
---|
2061 | local b;
|
---|
2062 | if [ -d "$g/rebase-apply" ]; then
|
---|
2063 | if [ -f "$g/rebase-apply/rebasing" ]; then
|
---|
2064 | r="|REBASE";
|
---|
2065 | else
|
---|
2066 | if [ -f "$g/rebase-apply/applying" ]; then
|
---|
2067 | r="|AM";
|
---|
2068 | else
|
---|
2069 | r="|AM/REBASE";
|
---|
2070 | fi;
|
---|
2071 | fi;
|
---|
2072 | b="$(git symbolic-ref HEAD 2>/dev/null)";
|
---|
2073 | else
|
---|
2074 | if [ -f "$g/rebase-merge/interactive" ]; then
|
---|
2075 | r="|REBASE-i";
|
---|
2076 | b="$(cat "$g/rebase-merge/head-name")";
|
---|
2077 | else
|
---|
2078 | if [ -d "$g/rebase-merge" ]; then
|
---|
2079 | r="|REBASE-m";
|
---|
2080 | b="$(cat "$g/rebase-merge/head-name")";
|
---|
2081 | else
|
---|
2082 | if [ -f "$g/MERGE_HEAD" ]; then
|
---|
2083 | r="|MERGING";
|
---|
2084 | fi;
|
---|
2085 | if [ -f "$g/BISECT_LOG" ]; then
|
---|
2086 | r="|BISECTING";
|
---|
2087 | fi;
|
---|
2088 | b="$(git symbolic-ref HEAD 2>/dev/null)" || {
|
---|
2089 | b="$(
|
---|
2090 | case "${GIT_PS1_DESCRIBE_STYLE-}" in
|
---|
2091 | (contains)
|
---|
2092 | git describe --contains HEAD ;;
|
---|
2093 | (branch)
|
---|
2094 | git describe --contains --all HEAD ;;
|
---|
2095 | (describe)
|
---|
2096 | git describe HEAD ;;
|
---|
2097 | (* | default)
|
---|
2098 | git describe --exact-match HEAD ;;
|
---|
2099 | esac 2>/dev/null)" || b="$(cut -c1-7 "$g/HEAD" 2>/dev/null)..." || b="unknown";
|
---|
2100 | b="($b)"
|
---|
2101 | };
|
---|
2102 | fi;
|
---|
2103 | fi;
|
---|
2104 | fi;
|
---|
2105 | local w;
|
---|
2106 | local i;
|
---|
2107 | local c;
|
---|
2108 | if [ "true" = "$(git rev-parse --is-inside-git-dir 2>/dev/null)" ]; then
|
---|
2109 | if [ "true" = "$(git rev-parse --is-bare-repository 2>/dev/null)" ]; then
|
---|
2110 | c="BARE:";
|
---|
2111 | else
|
---|
2112 | b="GIT_DIR!";
|
---|
2113 | fi;
|
---|
2114 | else
|
---|
2115 | if [ "true" = "$(git rev-parse --is-inside-work-tree 2>/dev/null)" ]; then
|
---|
2116 | if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ]; then
|
---|
2117 | if [ "$(git config --bool bash.showDirtyState)" != "false" ]; then
|
---|
2118 | git diff --no-ext-diff --ignore-submodules --quiet --exit-code || w="*";
|
---|
2119 | if git rev-parse --quiet --verify HEAD > /dev/null; then
|
---|
2120 | git diff-index --cached --quiet --ignore-submodules HEAD -- || i="+";
|
---|
2121 | else
|
---|
2122 | i="#";
|
---|
2123 | fi;
|
---|
2124 | fi;
|
---|
2125 | fi;
|
---|
2126 | fi;
|
---|
2127 | fi;
|
---|
2128 | if [ -n "$b" ]; then
|
---|
2129 | if [ -n "${1-}" ]; then
|
---|
2130 | printf "$1" "$c${b##refs/heads/}$w$i$r";
|
---|
2131 | else
|
---|
2132 | printf " (%s)" "$c${b##refs/heads/}$w$i$r";
|
---|
2133 | fi;
|
---|
2134 | fi;
|
---|
2135 | fi
|
---|
2136 | }
|
---|
2137 | __git_refs ()
|
---|
2138 | {
|
---|
2139 | local i is_hash=y dir="$(__gitdir "${1-}")";
|
---|
2140 | local cur="${COMP_WORDS[COMP_CWORD]}" format refs;
|
---|
2141 | if [ -d "$dir" ]; then
|
---|
2142 | case "$cur" in
|
---|
2143 | refs | refs/*)
|
---|
2144 | format="refname";
|
---|
2145 | refs="${cur%/*}"
|
---|
2146 | ;;
|
---|
2147 | *)
|
---|
2148 | if [ -e "$dir/HEAD" ]; then
|
---|
2149 | echo HEAD;
|
---|
2150 | fi;
|
---|
2151 | format="refname:short";
|
---|
2152 | refs="refs/tags refs/heads refs/remotes"
|
---|
2153 | ;;
|
---|
2154 | esac;
|
---|
2155 | git --git-dir="$dir" for-each-ref --format="%($format)" $refs;
|
---|
2156 | return;
|
---|
2157 | fi;
|
---|
2158 | for i in $(git ls-remote "$dir" 2>/dev/null);
|
---|
2159 | do
|
---|
2160 | case "$is_hash,$i" in
|
---|
2161 | y,*)
|
---|
2162 | is_hash=n
|
---|
2163 | ;;
|
---|
2164 | n,*^{})
|
---|
2165 | is_hash=y
|
---|
2166 | ;;
|
---|
2167 | n,refs/tags/*)
|
---|
2168 | is_hash=y;
|
---|
2169 | echo "${i#refs/tags/}"
|
---|
2170 | ;;
|
---|
2171 | n,refs/heads/*)
|
---|
2172 | is_hash=y;
|
---|
2173 | echo "${i#refs/heads/}"
|
---|
2174 | ;;
|
---|
2175 | n,refs/remotes/*)
|
---|
2176 | is_hash=y;
|
---|
2177 | echo "${i#refs/remotes/}"
|
---|
2178 | ;;
|
---|
2179 | n,*)
|
---|
2180 | is_hash=y;
|
---|
2181 | echo "$i"
|
---|
2182 | ;;
|
---|
2183 | esac;
|
---|
2184 | done
|
---|
2185 | }
|
---|
2186 | __git_refs2 ()
|
---|
2187 | {
|
---|
2188 | local i;
|
---|
2189 | for i in $(__git_refs "$1");
|
---|
2190 | do
|
---|
2191 | echo "$i:$i";
|
---|
2192 | done
|
---|
2193 | }
|
---|
2194 | __git_refs_remotes ()
|
---|
2195 | {
|
---|
2196 | local cmd i is_hash=y;
|
---|
2197 | for i in $(git ls-remote "$1" 2>/dev/null);
|
---|
2198 | do
|
---|
2199 | case "$is_hash,$i" in
|
---|
2200 | n,refs/heads/*)
|
---|
2201 | is_hash=y;
|
---|
2202 | echo "$i:refs/remotes/$1/${i#refs/heads/}"
|
---|
2203 | ;;
|
---|
2204 | y,*)
|
---|
2205 | is_hash=n
|
---|
2206 | ;;
|
---|
2207 | n,*^{})
|
---|
2208 | is_hash=y
|
---|
2209 | ;;
|
---|
2210 | n,refs/tags/*)
|
---|
2211 | is_hash=y
|
---|
2212 | ;;
|
---|
2213 | n,*)
|
---|
2214 | is_hash=y
|
---|
2215 | ;;
|
---|
2216 | esac;
|
---|
2217 | done
|
---|
2218 | }
|
---|
2219 | __git_remotes ()
|
---|
2220 | {
|
---|
2221 | local i ngoff IFS='
|
---|
2222 | ' d="$(__gitdir)";
|
---|
2223 | shopt -q nullglob || ngoff=1;
|
---|
2224 | shopt -s nullglob;
|
---|
2225 | for i in "$d/remotes"/*;
|
---|
2226 | do
|
---|
2227 | echo ${i#$d/remotes/};
|
---|
2228 | done;
|
---|
2229 | [ "$ngoff" ] && shopt -u nullglob;
|
---|
2230 | for i in $(git --git-dir="$d" config --list);
|
---|
2231 | do
|
---|
2232 | case "$i" in
|
---|
2233 | remote.*.url=*)
|
---|
2234 | i="${i#remote.}";
|
---|
2235 | echo "${i/.url=*/}"
|
---|
2236 | ;;
|
---|
2237 | esac;
|
---|
2238 | done
|
---|
2239 | }
|
---|
2240 | __git_tags ()
|
---|
2241 | {
|
---|
2242 | local cmd i is_hash=y dir="$(__gitdir "${1-}")";
|
---|
2243 | if [ -d "$dir" ]; then
|
---|
2244 | git --git-dir="$dir" for-each-ref --format='%(refname:short)' refs/tags;
|
---|
2245 | return;
|
---|
2246 | fi;
|
---|
2247 | for i in $(git ls-remote "${1-}" 2>/dev/null);
|
---|
2248 | do
|
---|
2249 | case "$is_hash,$i" in
|
---|
2250 | y,*)
|
---|
2251 | is_hash=n
|
---|
2252 | ;;
|
---|
2253 | n,*^{})
|
---|
2254 | is_hash=y
|
---|
2255 | ;;
|
---|
2256 | n,refs/tags/*)
|
---|
2257 | is_hash=y;
|
---|
2258 | echo "${i#refs/tags/}"
|
---|
2259 | ;;
|
---|
2260 | n,*)
|
---|
2261 | is_hash=y;
|
---|
2262 | echo "$i"
|
---|
2263 | ;;
|
---|
2264 | esac;
|
---|
2265 | done
|
---|
2266 | }
|
---|
2267 | __gitcomp ()
|
---|
2268 | {
|
---|
2269 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
2270 | if [ $# -gt 2 ]; then
|
---|
2271 | cur="$3";
|
---|
2272 | fi;
|
---|
2273 | case "$cur" in
|
---|
2274 | --*=)
|
---|
2275 | COMPREPLY=()
|
---|
2276 | ;;
|
---|
2277 | *)
|
---|
2278 | local IFS='
|
---|
2279 | ';
|
---|
2280 | COMPREPLY=($(compgen -P "${2-}" -W "$(__gitcomp_1 "${1-}" "${4-}")" -- "$cur"))
|
---|
2281 | ;;
|
---|
2282 | esac
|
---|
2283 | }
|
---|
2284 | __gitcomp_1 ()
|
---|
2285 | {
|
---|
2286 | local c IFS=' '' ''
|
---|
2287 | ';
|
---|
2288 | for c in $1;
|
---|
2289 | do
|
---|
2290 | case "$c$2" in
|
---|
2291 | --*=*)
|
---|
2292 | printf %s'
|
---|
2293 | ' "$c$2"
|
---|
2294 | ;;
|
---|
2295 | *.)
|
---|
2296 | printf %s'
|
---|
2297 | ' "$c$2"
|
---|
2298 | ;;
|
---|
2299 | *)
|
---|
2300 | printf %s'
|
---|
2301 | ' "$c$2 "
|
---|
2302 | ;;
|
---|
2303 | esac;
|
---|
2304 | done
|
---|
2305 | }
|
---|
2306 | __gitdir ()
|
---|
2307 | {
|
---|
2308 | if [ -z "${1-}" ]; then
|
---|
2309 | if [ -n "${__git_dir-}" ]; then
|
---|
2310 | echo "$__git_dir";
|
---|
2311 | else
|
---|
2312 | if [ -d .git ]; then
|
---|
2313 | echo .git;
|
---|
2314 | else
|
---|
2315 | git rev-parse --git-dir 2> /dev/null;
|
---|
2316 | fi;
|
---|
2317 | fi;
|
---|
2318 | else
|
---|
2319 | if [ -d "$1/.git" ]; then
|
---|
2320 | echo "$1/.git";
|
---|
2321 | else
|
---|
2322 | echo "$1";
|
---|
2323 | fi;
|
---|
2324 | fi
|
---|
2325 | }
|
---|
2326 | _add_members ()
|
---|
2327 | {
|
---|
2328 | local cur prev;
|
---|
2329 | COMPREPLY=();
|
---|
2330 | cur=`_get_cword`;
|
---|
2331 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2332 | case "$prev" in
|
---|
2333 | -@(r|d|-regular-members-file=|-digest-members-file=))
|
---|
2334 | _filedir;
|
---|
2335 | return 0
|
---|
2336 | ;;
|
---|
2337 | -@(w|a|-welcome-msg=|-admin-notify=))
|
---|
2338 | COMPREPLY=($( compgen -W 'y n' -- $cur));
|
---|
2339 | return 0
|
---|
2340 | ;;
|
---|
2341 | esac;
|
---|
2342 | if [[ "$cur" == -* ]]; then
|
---|
2343 | COMPREPLY=($( compgen -W '--regular-members-file= -r \
|
---|
2344 | --digest-members-file= -d --welcome-msg= -w \
|
---|
2345 | --admin-notify= -a --help -h' -- $cur ));
|
---|
2346 | else
|
---|
2347 | _mailman_lists;
|
---|
2348 | fi
|
---|
2349 | }
|
---|
2350 | _alias ()
|
---|
2351 | {
|
---|
2352 | local cur;
|
---|
2353 | COMPREPLY=();
|
---|
2354 | cur=`_get_cword`;
|
---|
2355 | case "$COMP_LINE" in
|
---|
2356 | *[^=])
|
---|
2357 | COMPREPLY=($( compgen -A alias -- $cur ))
|
---|
2358 | ;;
|
---|
2359 | *=)
|
---|
2360 | COMPREPLY=("$( alias ${cur%=} 2>/dev/null | sed -e 's|^alias '$cur'\(.*\)$|\1|' )")
|
---|
2361 | ;;
|
---|
2362 | esac
|
---|
2363 | }
|
---|
2364 | _apt_cache ()
|
---|
2365 | {
|
---|
2366 | local cur prev special i;
|
---|
2367 | COMPREPLY=();
|
---|
2368 | cur=`_get_cword`;
|
---|
2369 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2370 | if [ "$cur" != show ]; then
|
---|
2371 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
2372 | do
|
---|
2373 | if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then
|
---|
2374 | special=${COMP_WORDS[i]};
|
---|
2375 | fi;
|
---|
2376 | done;
|
---|
2377 | fi;
|
---|
2378 | if [ -n "$special" ]; then
|
---|
2379 | case $special in
|
---|
2380 | add)
|
---|
2381 | _filedir;
|
---|
2382 | return 0
|
---|
2383 | ;;
|
---|
2384 | showsrc)
|
---|
2385 | COMPREPLY=($( apt-cache dumpavail | grep "^Source: $cur" | sort | uniq | cut -f2 -d" " ));
|
---|
2386 | return 0
|
---|
2387 | ;;
|
---|
2388 | *)
|
---|
2389 | COMPREPLY=($( apt-cache pkgnames $cur 2> /dev/null ));
|
---|
2390 | return 0
|
---|
2391 | ;;
|
---|
2392 | esac;
|
---|
2393 | fi;
|
---|
2394 | case "$prev" in
|
---|
2395 | -@(c|p|s|-config-file|-@(pkg|src)-cache))
|
---|
2396 | _filedir;
|
---|
2397 | return 0
|
---|
2398 | ;;
|
---|
2399 | search)
|
---|
2400 | if [[ "$cur" != -* ]]; then
|
---|
2401 | return 0;
|
---|
2402 | fi
|
---|
2403 | ;;
|
---|
2404 | esac;
|
---|
2405 | if [[ "$cur" == -* ]]; then
|
---|
2406 | COMPREPLY=($( compgen -W '-h -v -p -s -q -i -f -a -g -c \
|
---|
2407 | -o --help --version --pkg-cache --src-cache \
|
---|
2408 | --quiet --important --full --all-versions \
|
---|
2409 | --no-all-versions --generate --no-generate \
|
---|
2410 | --names-only --all-names --recurse \
|
---|
2411 | --config-file --option --installed' -- $cur ));
|
---|
2412 | else
|
---|
2413 | COMPREPLY=($( compgen -W 'add gencaches show showpkg showsrc \
|
---|
2414 | stats dump dumpavail unmet search search \
|
---|
2415 | depends rdepends pkgnames dotty xvcg \
|
---|
2416 | policy madison' -- $cur ));
|
---|
2417 | fi;
|
---|
2418 | return 0
|
---|
2419 | }
|
---|
2420 | _apt_get ()
|
---|
2421 | {
|
---|
2422 | local cur prev special i;
|
---|
2423 | COMPREPLY=();
|
---|
2424 | cur=`_get_cword`;
|
---|
2425 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2426 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
2427 | do
|
---|
2428 | if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep) ]]; then
|
---|
2429 | special=${COMP_WORDS[i]};
|
---|
2430 | fi;
|
---|
2431 | done;
|
---|
2432 | if [ -n "$special" ]; then
|
---|
2433 | case $special in
|
---|
2434 | remove | autoremove | purge)
|
---|
2435 | if [ -f /etc/debian_version ]; then
|
---|
2436 | COMPREPLY=($( _comp_dpkg_installed_packages $cur ));
|
---|
2437 | else
|
---|
2438 | _rpm_installed_packages;
|
---|
2439 | fi;
|
---|
2440 | return 0
|
---|
2441 | ;;
|
---|
2442 | *)
|
---|
2443 | COMPREPLY=($( apt-cache pkgnames $cur 2> /dev/null ));
|
---|
2444 | return 0
|
---|
2445 | ;;
|
---|
2446 | esac;
|
---|
2447 | fi;
|
---|
2448 | case "$prev" in
|
---|
2449 | -@(c|-config-file))
|
---|
2450 | _filedir;
|
---|
2451 | return 0
|
---|
2452 | ;;
|
---|
2453 | -@(t|-target-release|-default-release))
|
---|
2454 | COMPREPLY=($( apt-cache policy | grep "release.o=Debian,a=$cur" | sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null));
|
---|
2455 | return 0
|
---|
2456 | ;;
|
---|
2457 | esac;
|
---|
2458 | if [[ "$cur" == -* ]]; then
|
---|
2459 | COMPREPLY=($( compgen -W '-d -f -h -v -m -q -s -y \
|
---|
2460 | -u -t -b -c -o --download-only --fix-broken \
|
---|
2461 | --help --version --ignore-missing \
|
---|
2462 | --fix-missing --no-download --quiet --simulate \
|
---|
2463 | --just-print --dry-run --recon --no-act --yes \
|
---|
2464 | --assume-yes --show-upgraded --only-source \
|
---|
2465 | --compile --build --ignore-hold \
|
---|
2466 | --target-release --no-upgrade --force-yes \
|
---|
2467 | --print-uris --purge --reinstall \
|
---|
2468 | --list-cleanup --default-release \
|
---|
2469 | --trivial-only --no-remove --diff-only \
|
---|
2470 | --no-install-recommends \
|
---|
2471 | --tar-only --config-file --option --auto-remove' -- $cur ));
|
---|
2472 | else
|
---|
2473 | COMPREPLY=($( compgen -W 'update upgrade dselect-upgrade \
|
---|
2474 | dist-upgrade install remove purge source build-dep \
|
---|
2475 | check clean autoclean autoremove' -- $cur ));
|
---|
2476 | fi;
|
---|
2477 | return 0
|
---|
2478 | }
|
---|
2479 | _aptitude ()
|
---|
2480 | {
|
---|
2481 | local cur dashoptions prev special i;
|
---|
2482 | COMPREPLY=();
|
---|
2483 | cur=`_get_cword`;
|
---|
2484 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2485 | dashoptions='-S -u -i -h --help --version -s --simulate -d \
|
---|
2486 | --download-only -P --prompt -y --assume-yes -F \
|
---|
2487 | --display-format -O --sort -w --width -f -r -g \
|
---|
2488 | --with-recommends --with-suggests -R -G \
|
---|
2489 | --without-recommends --without-suggests -t \
|
---|
2490 | --target-release -V --show-versions -D --show-deps\
|
---|
2491 | -Z -v --verbose --purge-unused --schedule-only';
|
---|
2492 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
2493 | do
|
---|
2494 | if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep) ]]; then
|
---|
2495 | special=${COMP_WORDS[i]};
|
---|
2496 | fi;
|
---|
2497 | [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i};
|
---|
2498 | [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u};
|
---|
2499 | done;
|
---|
2500 | if [[ -n "$special" ]]; then
|
---|
2501 | case $special in
|
---|
2502 | @(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep))
|
---|
2503 | COMPREPLY=($( apt-cache pkgnames $cur 2> /dev/null ));
|
---|
2504 | return 0
|
---|
2505 | ;;
|
---|
2506 | @(purge|remove|reinstall|forbid-version))
|
---|
2507 | COMPREPLY=($( _comp_dpkg_installed_packages $cur ));
|
---|
2508 | return 0
|
---|
2509 | ;;
|
---|
2510 | unhold)
|
---|
2511 | COMPREPLY=($( _comp_dpkg_hold_packages $cur ));
|
---|
2512 | return 0
|
---|
2513 | ;;
|
---|
2514 | esac;
|
---|
2515 | fi;
|
---|
2516 | case $prev in
|
---|
2517 | @(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
|
---|
2518 | return 0
|
---|
2519 | ;;
|
---|
2520 | -S)
|
---|
2521 | _filedir;
|
---|
2522 | return 0
|
---|
2523 | ;;
|
---|
2524 | -@(t|-target-release|-default-release))
|
---|
2525 | COMPREPLY=($( apt-cache policy | grep "release.o=Debian,a=$cur" | sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ));
|
---|
2526 | return 0
|
---|
2527 | ;;
|
---|
2528 | esac;
|
---|
2529 | if [[ "$cur" == -* ]]; then
|
---|
2530 | COMPREPLY=($( compgen -W "$dashoptions" -- $cur ));
|
---|
2531 | else
|
---|
2532 | COMPREPLY=($( compgen -W 'update upgrade safe-upgrade forget-new clean \
|
---|
2533 | autoclean install reinstall remove \
|
---|
2534 | hold unhold purge markauto unmarkauto why why-not \
|
---|
2535 | dist-upgrade full-upgrade download search show \
|
---|
2536 | forbid-version changelog keep-all build-dep' -- $cur ));
|
---|
2537 | fi;
|
---|
2538 | return 0
|
---|
2539 | }
|
---|
2540 | _arch ()
|
---|
2541 | {
|
---|
2542 | local cur prev;
|
---|
2543 | COMPREPLY=();
|
---|
2544 | cur=`_get_cword`;
|
---|
2545 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2546 | case "$prev" in
|
---|
2547 | -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=))
|
---|
2548 | COMPREPLY=($( compgen -W 'y n' -- $cur));
|
---|
2549 | return 0
|
---|
2550 | ;;
|
---|
2551 | -@(d|-file))
|
---|
2552 | _filedir;
|
---|
2553 | return 0
|
---|
2554 | ;;
|
---|
2555 | esac;
|
---|
2556 | if [[ "$cur" == -* ]]; then
|
---|
2557 | COMPREPLY=($( compgen -W '--wipe -s --start= -e --end= \
|
---|
2558 | -q --quiet -h --help' -- $cur ));
|
---|
2559 | else
|
---|
2560 | args=$COMP_CWORD;
|
---|
2561 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
2562 | do
|
---|
2563 | if [[ "${COMP_WORDS[i]}" == -* ]]; then
|
---|
2564 | args=$(($args-1));
|
---|
2565 | fi;
|
---|
2566 | done;
|
---|
2567 | case $args in
|
---|
2568 | 1)
|
---|
2569 | _mailman_lists
|
---|
2570 | ;;
|
---|
2571 | 2)
|
---|
2572 | _filedir
|
---|
2573 | ;;
|
---|
2574 | esac;
|
---|
2575 | fi
|
---|
2576 | }
|
---|
2577 | _arpspoof ()
|
---|
2578 | {
|
---|
2579 | local cur;
|
---|
2580 | COMPREPLY=();
|
---|
2581 | cur=`_get_cword`;
|
---|
2582 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2583 | case "$prev" in
|
---|
2584 | -i)
|
---|
2585 | _interfaces;
|
---|
2586 | return 0
|
---|
2587 | ;;
|
---|
2588 | -t)
|
---|
2589 | _known_hosts;
|
---|
2590 | return 0
|
---|
2591 | ;;
|
---|
2592 | esac;
|
---|
2593 | if [[ "$cur" == -* ]]; then
|
---|
2594 | COMPREPLY=($( compgen -W '-i -t' -- $cur ));
|
---|
2595 | else
|
---|
2596 | _known_hosts;
|
---|
2597 | fi
|
---|
2598 | }
|
---|
2599 | _available_interfaces ()
|
---|
2600 | {
|
---|
2601 | local cmd;
|
---|
2602 | if [ "${1:-}" = -w ]; then
|
---|
2603 | cmd="iwconfig";
|
---|
2604 | else
|
---|
2605 | if [ "${1:-}" = -a ]; then
|
---|
2606 | cmd="ifconfig";
|
---|
2607 | else
|
---|
2608 | cmd="ifconfig -a";
|
---|
2609 | fi;
|
---|
2610 | fi;
|
---|
2611 | COMPREPLY=($( eval $cmd 2>/dev/null | sed -ne 's|^\('$cur'[^[:space:][:punct:]]\{1,\}\).*$|\1|p'))
|
---|
2612 | }
|
---|
2613 | _bk ()
|
---|
2614 | {
|
---|
2615 | local BKCMDS;
|
---|
2616 | COMPREPLY=();
|
---|
2617 | cur=`_get_cword`;
|
---|
2618 | BKCMDS="$( bk help topics | grep '^ bk' | cut -d ' ' -f 4 | xargs echo )";
|
---|
2619 | COMPREPLY=($( compgen -W "$BKCMDS" -- "$cur" ));
|
---|
2620 | _filedir;
|
---|
2621 | return 0
|
---|
2622 | }
|
---|
2623 | _btdownload ()
|
---|
2624 | {
|
---|
2625 | local cur prev;
|
---|
2626 | COMPREPLY=();
|
---|
2627 | cur=`_get_cword`;
|
---|
2628 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2629 | case "$prev" in
|
---|
2630 | --@(responsefile|saveas))
|
---|
2631 | _filedir;
|
---|
2632 | return 0
|
---|
2633 | ;;
|
---|
2634 | esac;
|
---|
2635 | if [[ "$cur" == -* ]]; then
|
---|
2636 | COMPREPLY=($( compgen -W '--max_uploads --keepalive_interval \
|
---|
2637 | --download_slice_size --request_backlog \
|
---|
2638 | --max_message_length --ip --minport --maxport \
|
---|
2639 | --responsefile --url --saveas --timeout \
|
---|
2640 | --timeout_check_interval --max_slice_length \
|
---|
2641 | --max_rate_period --bind --upload_rate_fudge \
|
---|
2642 | --display_interval --rerequest_interval \
|
---|
2643 | --min_peers --http_timeout --max_initiate \
|
---|
2644 | --max_allow_in --check_hashes \
|
---|
2645 | --max_upload_rate --snub_time --spew \
|
---|
2646 | --rarest_first_cutoff --min_uploads \
|
---|
2647 | --report_hash_failures' -- $cur ));
|
---|
2648 | else
|
---|
2649 | _filedir;
|
---|
2650 | fi
|
---|
2651 | }
|
---|
2652 | _bzip2 ()
|
---|
2653 | {
|
---|
2654 | local cur prev xspec;
|
---|
2655 | COMPREPLY=();
|
---|
2656 | cur=`_get_cword`;
|
---|
2657 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2658 | if [[ "$cur" == -* ]]; then
|
---|
2659 | COMPREPLY=($( compgen -W '-c -d -f -h -k -L -q -s \
|
---|
2660 | -t -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
|
---|
2661 | --help --decompress --compress --keep --force \
|
---|
2662 | --test --stdout --quiet --verbose --license \
|
---|
2663 | --version --small --fast --best' -- $cur ));
|
---|
2664 | return 0;
|
---|
2665 | fi;
|
---|
2666 | local IFS='
|
---|
2667 | ';
|
---|
2668 | xspec="*.bz2";
|
---|
2669 | if [[ "$prev" == --* ]]; then
|
---|
2670 | [[ "$prev" == --decompress || "$prev" == --list || "$prev" == --test ]] && xspec="!"$xspec;
|
---|
2671 | [[ "$prev" == --compress ]] && xspec=;
|
---|
2672 | else
|
---|
2673 | if [[ "$prev" == -* ]]; then
|
---|
2674 | [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec;
|
---|
2675 | [[ "$prev" == -*z* ]] && xspec=;
|
---|
2676 | fi;
|
---|
2677 | fi;
|
---|
2678 | _expand || return 0;
|
---|
2679 | COMPREPLY=($( compgen -f -X "$xspec" -- $cur ) $( compgen -d -- $cur ))
|
---|
2680 | }
|
---|
2681 | _cd ()
|
---|
2682 | {
|
---|
2683 | local IFS='
|
---|
2684 | ' cur=`_get_cword` i j k;
|
---|
2685 | if [[ "$cur" == ?(\\)\$* ]]; then
|
---|
2686 | COMPREPLY=($( compgen -v -P '$' -- "${cur#?(\\)$}" ));
|
---|
2687 | return 0;
|
---|
2688 | fi;
|
---|
2689 | compgen -f /non-existing-dir/ > /dev/null;
|
---|
2690 | if [ -z "${CDPATH:-}" ] || [[ "$cur" == ?(.)?(.)/* ]]; then
|
---|
2691 | _filedir -d;
|
---|
2692 | return 0;
|
---|
2693 | fi;
|
---|
2694 | local -r mark_dirs=$(_rl_enabled mark-directories && echo y);
|
---|
2695 | local -r mark_symdirs=$(_rl_enabled mark-symlinked-directories && echo y);
|
---|
2696 | for i in ${CDPATH//:/' '};
|
---|
2697 | do
|
---|
2698 | k="${#COMPREPLY[@]}";
|
---|
2699 | for j in $( compgen -d $i/$cur );
|
---|
2700 | do
|
---|
2701 | if [[ ( -n $mark_symdirs && -h $j || -n $mark_dirs && ! -h $j ) && ! -d ${j#$i/} ]]; then
|
---|
2702 | j="${j}/";
|
---|
2703 | fi;
|
---|
2704 | COMPREPLY[k++]=${j#$i/};
|
---|
2705 | done;
|
---|
2706 | done;
|
---|
2707 | _filedir -d;
|
---|
2708 | if [[ ${#COMPREPLY[@]} -eq 1 ]]; then
|
---|
2709 | i=${COMPREPLY[0]};
|
---|
2710 | if [ "$i" == "$cur" ] && [[ $i != "*/" ]]; then
|
---|
2711 | COMPREPLY[0]="${i}/";
|
---|
2712 | fi;
|
---|
2713 | fi;
|
---|
2714 | return 0
|
---|
2715 | }
|
---|
2716 | _change_pw ()
|
---|
2717 | {
|
---|
2718 | local cur prev;
|
---|
2719 | COMPREPLY=();
|
---|
2720 | cur=`_get_cword`;
|
---|
2721 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2722 | case "$prev" in
|
---|
2723 | -@(l|-listname=))
|
---|
2724 | _mailman_lists;
|
---|
2725 | return 0
|
---|
2726 | ;;
|
---|
2727 | esac;
|
---|
2728 | if [[ "$cur" == -* ]]; then
|
---|
2729 | COMPREPLY=($( compgen -W '-a --all --domain= -d --listname= -l \
|
---|
2730 | --password= -p --quiet -q -h --help' -- $cur ));
|
---|
2731 | fi
|
---|
2732 | }
|
---|
2733 | _check_db ()
|
---|
2734 | {
|
---|
2735 | local cur;
|
---|
2736 | COMPREPLY=();
|
---|
2737 | cur=`_get_cword`;
|
---|
2738 | if [[ "$cur" == -* ]]; then
|
---|
2739 | COMPREPLY=($( compgen -W '--all -a --verbose -v \
|
---|
2740 | -h --help' -- $cur ));
|
---|
2741 | else
|
---|
2742 | _mailman_lists;
|
---|
2743 | fi
|
---|
2744 | }
|
---|
2745 | _check_perms ()
|
---|
2746 | {
|
---|
2747 | local cur;
|
---|
2748 | COMPREPLY=();
|
---|
2749 | cur=`_get_cword`;
|
---|
2750 | if [[ "$cur" == -* ]]; then
|
---|
2751 | COMPREPLY=($( compgen -W '-f -v -h' -- $cur ));
|
---|
2752 | fi
|
---|
2753 | }
|
---|
2754 | _chgrp ()
|
---|
2755 | {
|
---|
2756 | local cur prev;
|
---|
2757 | COMPREPLY=();
|
---|
2758 | cur=`_get_cword`;
|
---|
2759 | cur=${cur//\\\\/};
|
---|
2760 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2761 | if [[ "$cur" == -* ]]; then
|
---|
2762 | COMPREPLY=($( compgen -W '-c -h -f -R -v --changes \
|
---|
2763 | --dereference --no-dereference --silent --quiet \
|
---|
2764 | --reference= --recursive --verbose --help --version' -- $cur ));
|
---|
2765 | return 0;
|
---|
2766 | fi;
|
---|
2767 | if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]] || [[ "$prev" == -* ]] && [ -n "$bash205" ]; then
|
---|
2768 | local IFS='
|
---|
2769 | ';
|
---|
2770 | COMPREPLY=($( compgen -g $cur 2>/dev/null ));
|
---|
2771 | else
|
---|
2772 | _filedir || return 0;
|
---|
2773 | fi;
|
---|
2774 | return 0
|
---|
2775 | }
|
---|
2776 | _chkconfig ()
|
---|
2777 | {
|
---|
2778 | local cur prev;
|
---|
2779 | COMPREPLY=();
|
---|
2780 | cur=`_get_cword`;
|
---|
2781 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2782 | case "$prev" in
|
---|
2783 | @([1-6]|--@(list|add|del)))
|
---|
2784 | _services;
|
---|
2785 | return 0
|
---|
2786 | ;;
|
---|
2787 | --level)
|
---|
2788 | COMPREPLY=($( compgen -W '1 2 3 4 5 6' -- $cur ));
|
---|
2789 | return 0
|
---|
2790 | ;;
|
---|
2791 | esac;
|
---|
2792 | if [[ "$cur" == -* ]]; then
|
---|
2793 | COMPREPLY=($( compgen -W '--list --add --del --level' -- $cur ));
|
---|
2794 | else
|
---|
2795 | if [ $COMP_CWORD -eq 2 -o $COMP_CWORD -eq 4 ]; then
|
---|
2796 | COMPREPLY=($( compgen -W 'on off reset' -- $cur ));
|
---|
2797 | else
|
---|
2798 | _services;
|
---|
2799 | fi;
|
---|
2800 | fi
|
---|
2801 | }
|
---|
2802 | _chown ()
|
---|
2803 | {
|
---|
2804 | local cur;
|
---|
2805 | cur=`_get_cword`;
|
---|
2806 | if [[ "$cur" == -* ]]; then
|
---|
2807 | COMPREPLY=($( compgen -W '-c -h -f -R -v --changes \
|
---|
2808 | --dereference --no-dereference --from= --silent --quiet \
|
---|
2809 | --reference= --recursive --verbose --help --version' -- $cur ));
|
---|
2810 | else
|
---|
2811 | _count_args;
|
---|
2812 | case $args in
|
---|
2813 | 1)
|
---|
2814 | _usergroup
|
---|
2815 | ;;
|
---|
2816 | *)
|
---|
2817 | _filedir
|
---|
2818 | ;;
|
---|
2819 | esac;
|
---|
2820 | fi
|
---|
2821 | }
|
---|
2822 | _chsh ()
|
---|
2823 | {
|
---|
2824 | local cur prev;
|
---|
2825 | COMPREPLY=();
|
---|
2826 | cur=`_get_cword`;
|
---|
2827 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2828 | if [ "$prev" = "-s" ]; then
|
---|
2829 | if [ -f /etc/debian_version ]; then
|
---|
2830 | COMPREPLY=($( </etc/shells ));
|
---|
2831 | else
|
---|
2832 | COMPREPLY=($( chsh -l | grep "^$cur" ));
|
---|
2833 | fi;
|
---|
2834 | else
|
---|
2835 | COMPREPLY=($( compgen -u -- $cur ));
|
---|
2836 | fi;
|
---|
2837 | return 0
|
---|
2838 | }
|
---|
2839 | _civclient ()
|
---|
2840 | {
|
---|
2841 | local cur;
|
---|
2842 | COMPREPLY=();
|
---|
2843 | cur=`_get_cword`;
|
---|
2844 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2845 | case "$prev" in
|
---|
2846 | -@(l|S|t|-log|-Sound|-tiles))
|
---|
2847 | _filedir;
|
---|
2848 | return 0
|
---|
2849 | ;;
|
---|
2850 | -@(P|-Plugin))
|
---|
2851 | COMPREPLY=($( compgen -W 'none esd sdl' -- $cur ));
|
---|
2852 | return 0
|
---|
2853 | ;;
|
---|
2854 | -@(s|-server))
|
---|
2855 | _known_hosts;
|
---|
2856 | return 0
|
---|
2857 | ;;
|
---|
2858 | esac;
|
---|
2859 | if [[ "$cur" == -* ]]; then
|
---|
2860 | COMPREPLY=($( compgen -W '-a -d -h -l -m -n -p -P -s -S -t -v\
|
---|
2861 | --autoconnect --debug --help --log --meta --name \
|
---|
2862 | --port --Plugin --server --Sound --tiles --version' -- $cur ));
|
---|
2863 | fi
|
---|
2864 | }
|
---|
2865 | _civserver ()
|
---|
2866 | {
|
---|
2867 | local cur;
|
---|
2868 | COMPREPLY=();
|
---|
2869 | cur=`_get_cword`;
|
---|
2870 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2871 | case "$prev" in
|
---|
2872 | -@(f|g|l|r|-file|-log|-gamelog|-read))
|
---|
2873 | _filedir;
|
---|
2874 | return 0
|
---|
2875 | ;;
|
---|
2876 | esac;
|
---|
2877 | if [[ "$cur" == -* ]]; then
|
---|
2878 | COMPREPLY=($( compgen -W '-d -f -g -h -i -l -m -M -p -q -r -v\
|
---|
2879 | --debug --file --gamelog --help --info --log --meta \
|
---|
2880 | --Metaserver --port --quitidle --read --version' -- $cur ));
|
---|
2881 | fi
|
---|
2882 | }
|
---|
2883 | _cksfv ()
|
---|
2884 | {
|
---|
2885 | COMPREPLY=();
|
---|
2886 | cur=`_get_cword`;
|
---|
2887 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
2888 | COMPREPLY=($( compgen -W '-C -f -i -q -v' -- $cur ));
|
---|
2889 | return 0;
|
---|
2890 | fi;
|
---|
2891 | case "${COMP_WORDS[$COMP_CWORD-1]}" in
|
---|
2892 | -C)
|
---|
2893 | _filedir -d;
|
---|
2894 | return 0
|
---|
2895 | ;;
|
---|
2896 | -f)
|
---|
2897 | _filedir 'sfv';
|
---|
2898 | return 0
|
---|
2899 | ;;
|
---|
2900 | esac;
|
---|
2901 | _filedir;
|
---|
2902 | return 0
|
---|
2903 | }
|
---|
2904 | _cleanarch ()
|
---|
2905 | {
|
---|
2906 | local cur;
|
---|
2907 | COMPREPLY=();
|
---|
2908 | cur=`_get_cword`;
|
---|
2909 | if [[ "$cur" == -* ]]; then
|
---|
2910 | COMPREPLY=($( compgen -W '-s --status -n --dry-run \
|
---|
2911 | -q --quiet -h --help' -- $cur ));
|
---|
2912 | fi
|
---|
2913 | }
|
---|
2914 | _clisp ()
|
---|
2915 | {
|
---|
2916 | local cur;
|
---|
2917 | COMPREPLY=();
|
---|
2918 | cur=`_get_cword`;
|
---|
2919 | if [[ "$cur" == -* ]]; then
|
---|
2920 | COMPREPLY=($( compgen -W '-h --help --version --license -B -K \
|
---|
2921 | -M -m -L -N -E -q --quiet --silent -w -I -ansi \
|
---|
2922 | -traditional -p -C -norc -i -c -l -o -x ' -- $cur ));
|
---|
2923 | else
|
---|
2924 | _filedir;
|
---|
2925 | fi;
|
---|
2926 | return 0
|
---|
2927 | }
|
---|
2928 | _clone_member ()
|
---|
2929 | {
|
---|
2930 | local cur prev;
|
---|
2931 | COMPREPLY=();
|
---|
2932 | cur=`_get_cword`;
|
---|
2933 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
2934 | case "$prev" in
|
---|
2935 | -@(l|-listname=))
|
---|
2936 | _mailman_lists;
|
---|
2937 | return 0
|
---|
2938 | ;;
|
---|
2939 | esac;
|
---|
2940 | if [[ "$cur" == -* ]]; then
|
---|
2941 | COMPREPLY=($( compgen -W '-l --listname= --remove -r \
|
---|
2942 | --admin -a --quiet -q --nomodify -n --help -h' -- $cur ));
|
---|
2943 | fi
|
---|
2944 | }
|
---|
2945 | _command ()
|
---|
2946 | {
|
---|
2947 | local offset i;
|
---|
2948 | offset=1;
|
---|
2949 | for ((i=1; i <= COMP_CWORD; i++ ))
|
---|
2950 | do
|
---|
2951 | if [[ "${COMP_WORDS[i]}" != -* ]]; then
|
---|
2952 | offset=$i;
|
---|
2953 | break;
|
---|
2954 | fi;
|
---|
2955 | done;
|
---|
2956 | _command_offset $offset
|
---|
2957 | }
|
---|
2958 | _command_offset ()
|
---|
2959 | {
|
---|
2960 | local cur func cline cspec noglob cmd i char_offset word_offset _COMMAND_FUNC _COMMAND_FUNC_ARGS;
|
---|
2961 | word_offset=$1;
|
---|
2962 | local first_word=${COMP_WORDS[$word_offset]};
|
---|
2963 | for ((i=0; i <= ${#COMP_LINE}; i++ ))
|
---|
2964 | do
|
---|
2965 | if [[ "${COMP_LINE:$i:${#first_word}}" == "$first_word" ]]; then
|
---|
2966 | char_offset=$i;
|
---|
2967 | break;
|
---|
2968 | fi;
|
---|
2969 | done;
|
---|
2970 | COMP_LINE=${COMP_LINE:$char_offset};
|
---|
2971 | COMP_POINT=$(( COMP_POINT - $char_offset ));
|
---|
2972 | for ((i=0; i <= COMP_CWORD - $word_offset; i++ ))
|
---|
2973 | do
|
---|
2974 | COMP_WORDS[i]=${COMP_WORDS[i+$word_offset]};
|
---|
2975 | done;
|
---|
2976 | for ((i; i <= COMP_CWORD; i++ ))
|
---|
2977 | do
|
---|
2978 | unset COMP_WORDS[i];
|
---|
2979 | done;
|
---|
2980 | COMP_CWORD=$(( $COMP_CWORD - $word_offset ));
|
---|
2981 | COMPREPLY=();
|
---|
2982 | cur=`_get_cword`;
|
---|
2983 | if [[ $COMP_CWORD -eq 0 ]]; then
|
---|
2984 | COMPREPLY=($( compgen -c -- $cur ));
|
---|
2985 | else
|
---|
2986 | cmd=${COMP_WORDS[0]};
|
---|
2987 | if complete -p $cmd &>/dev/null; then
|
---|
2988 | cspec=$( complete -p $cmd );
|
---|
2989 | if [ "${cspec#* -F }" != "$cspec" ]; then
|
---|
2990 | func=${cspec#*-F };
|
---|
2991 | func=${func%% *};
|
---|
2992 | if [[ ${#COMP_WORDS[@]} -ge 2 ]]; then
|
---|
2993 | $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}" "${COMP_WORDS[${#COMP_WORDS[@]}-2]}";
|
---|
2994 | else
|
---|
2995 | $func $cmd "${COMP_WORDS[${#COMP_WORDS[@]}-1]}";
|
---|
2996 | fi;
|
---|
2997 | if [ "${cspec#*-o }" != "$cspec" ]; then
|
---|
2998 | cspec=${cspec#*-o };
|
---|
2999 | cspec=${cspec%% *};
|
---|
3000 | if [[ "$cspec" != @(dir|file)names ]]; then
|
---|
3001 | COMPREPLY=("${COMPREPLY[@]//\\\\:/:}");
|
---|
3002 | fi;
|
---|
3003 | fi;
|
---|
3004 | else
|
---|
3005 | if [ -n "$cspec" ]; then
|
---|
3006 | cspec=${cspec#complete};
|
---|
3007 | cspec=${cspec%%$cmd};
|
---|
3008 | COMPREPLY=($( eval compgen "$cspec" -- "$cur" ));
|
---|
3009 | fi;
|
---|
3010 | fi;
|
---|
3011 | fi;
|
---|
3012 | fi;
|
---|
3013 | [ ${#COMPREPLY[@]} -eq 0 ] && _filedir
|
---|
3014 | }
|
---|
3015 | _comp_dpkg_hold_packages ()
|
---|
3016 | {
|
---|
3017 | grep --color=auto -B 2 'hold' /var/lib/dpkg/status | grep --color=auto "Package: $1" | cut -d\ -f2
|
---|
3018 | }
|
---|
3019 | _comp_dpkg_installed_packages ()
|
---|
3020 | {
|
---|
3021 | grep --color=auto -A 1 "Package: $1" /var/lib/dpkg/status | grep --color=auto -B 1 -Ee "ok installed|half-installed|unpacked| half-configured|config-files" -Ee "^Essential: yes" | grep --color=auto "Package: $1" | cut -d\ -f2
|
---|
3022 | }
|
---|
3023 | _complete ()
|
---|
3024 | {
|
---|
3025 | local cur prev options;
|
---|
3026 | COMPREPLY=();
|
---|
3027 | cur=`_get_cword`;
|
---|
3028 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3029 | case $prev in
|
---|
3030 | -o)
|
---|
3031 | options="default dirnames filenames";
|
---|
3032 | [ -n "$bash205b" ] && options="$options nospace";
|
---|
3033 | [ -n "$bash3" ] && options="$options bashdefault plusdirs";
|
---|
3034 | COMPREPLY=($( compgen -W "$options" -- $cur ));
|
---|
3035 | return 0
|
---|
3036 | ;;
|
---|
3037 | -A)
|
---|
3038 | COMPREPLY=($( compgen -W 'alias arrayvar binding \
|
---|
3039 | builtin command directory disabled enabled \
|
---|
3040 | export file function group helptopic hostname \
|
---|
3041 | job keyword running service setopt shopt \
|
---|
3042 | signal stopped user variable' -- $cur ));
|
---|
3043 | return 0
|
---|
3044 | ;;
|
---|
3045 | -C)
|
---|
3046 | COMPREPLY=($( compgen -A command -- $cur ));
|
---|
3047 | return 0
|
---|
3048 | ;;
|
---|
3049 | -F)
|
---|
3050 | COMPREPLY=($( compgen -A function -- $cur ));
|
---|
3051 | return 0
|
---|
3052 | ;;
|
---|
3053 | -@(p|r))
|
---|
3054 | COMPREPLY=($( complete -p | sed -e 's|.* ||' | grep "^$cur" ));
|
---|
3055 | return 0
|
---|
3056 | ;;
|
---|
3057 | esac;
|
---|
3058 | if [[ "$cur" == -* ]]; then
|
---|
3059 | options="-a -b -c -d -e -f -g -j -k -s -v -u -A -G -W -P -S -X -F -C";
|
---|
3060 | [ -n "$bash205" ] && options="$options -o";
|
---|
3061 | COMPREPLY=($( compgen -W "$options" -- $cur ));
|
---|
3062 | else
|
---|
3063 | COMPREPLY=($( compgen -A command -- $cur ));
|
---|
3064 | fi
|
---|
3065 | }
|
---|
3066 | _config_list ()
|
---|
3067 | {
|
---|
3068 | local cur prev;
|
---|
3069 | COMPREPLY=();
|
---|
3070 | cur=`_get_cword`;
|
---|
3071 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3072 | case "$prev" in
|
---|
3073 | -@(i|o|-inputfile|-outputfile))
|
---|
3074 | _filedir;
|
---|
3075 | return 0
|
---|
3076 | ;;
|
---|
3077 | esac;
|
---|
3078 | if [[ "$cur" == -* ]]; then
|
---|
3079 | COMPREPLY=($( compgen -W '--inputfile -i --outputfile -o \
|
---|
3080 | --checkonly -c --verbose -v -h --help' -- $cur ));
|
---|
3081 | else
|
---|
3082 | _mailman_lists;
|
---|
3083 | fi
|
---|
3084 | }
|
---|
3085 | _configure_func ()
|
---|
3086 | {
|
---|
3087 | local cur;
|
---|
3088 | COMPREPLY=();
|
---|
3089 | cur=`_get_cword`;
|
---|
3090 | [[ "$cur" != -* ]] && return 0;
|
---|
3091 | if [ -n "$COMP_CONFIGURE_HINTS" ]; then
|
---|
3092 | COMPREPLY=($( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,].*//g' | grep ^$cur ));
|
---|
3093 | else
|
---|
3094 | COMPREPLY=($( $1 --help 2>&1 | awk '/^ --[A-Za-z]/ { print $1; if ($2 ~ /--[A-Za-z]/) print $2 }' | sed -e 's/[[,=].*//g' | grep ^$cur ));
|
---|
3095 | fi
|
---|
3096 | }
|
---|
3097 | _configured_interfaces ()
|
---|
3098 | {
|
---|
3099 | if [ -f /etc/debian_version ]; then
|
---|
3100 | COMPREPLY=($( sed -ne 's|^iface \([^ ]\+\).*$|\1|p' /etc/network/interfaces ));
|
---|
3101 | else
|
---|
3102 | if [ -f /etc/SuSE-release ]; then
|
---|
3103 | COMPREPLY=($( command ls /etc/sysconfig/network/ifcfg-* | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' ));
|
---|
3104 | else
|
---|
3105 | if [ -f /etc/pld-release ]; then
|
---|
3106 | COMPREPLY=($( command ls -B /etc/sysconfig/interfaces | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' ));
|
---|
3107 | else
|
---|
3108 | COMPREPLY=($( command ls /etc/sysconfig/network-scripts/ifcfg-* | sed -ne 's|.*ifcfg-\('$cur'.*\)|\1|p' ));
|
---|
3109 | fi;
|
---|
3110 | fi;
|
---|
3111 | fi
|
---|
3112 | }
|
---|
3113 | _count_args ()
|
---|
3114 | {
|
---|
3115 | args=1;
|
---|
3116 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
3117 | do
|
---|
3118 | if [[ "${COMP_WORDS[i]}" != -* ]]; then
|
---|
3119 | args=$(($args+1));
|
---|
3120 | fi;
|
---|
3121 | done
|
---|
3122 | }
|
---|
3123 | _cpan2dist ()
|
---|
3124 | {
|
---|
3125 | local cur prev packagelist cpandirs;
|
---|
3126 | COMPREPLY=();
|
---|
3127 | cur=`_get_cword`;
|
---|
3128 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3129 | case $prev in
|
---|
3130 | --format)
|
---|
3131 | COMPREPLY=($( compgen -W '$(perl -MCPANPLUS::Dist -e "print map { \"\$_\n\" } CPANPLUS::Dist->dist_types")' -- "$cur" ));
|
---|
3132 | return 0
|
---|
3133 | ;;
|
---|
3134 | --@(banlist|ignorelist|modulelist|logfile))
|
---|
3135 | _filedir;
|
---|
3136 | return 0
|
---|
3137 | ;;
|
---|
3138 | esac;
|
---|
3139 | if [[ "$cur" == -* ]]; then
|
---|
3140 | COMPREPLY=($( compgen -W '--help --skiptest --force --install \
|
---|
3141 | --verbose --keepsource --makefile --buildprereq \
|
---|
3142 | --archive --flushcache --defaults --edit-metafile \
|
---|
3143 | --format --ban --banlist --ignore --ignorelist \
|
---|
3144 | --modulelist --logfile --timeout --set-config \
|
---|
3145 | --set-program --dist-opts --default-banlist \
|
---|
3146 | --default-ignorelist' -- $cur ));
|
---|
3147 | else
|
---|
3148 | cpandirs=("$HOME/.cpanplus/" "$HOME/.cpan/source/modules/");
|
---|
3149 | for dir in ${cpandirs[@]};
|
---|
3150 | do
|
---|
3151 | [ -d "$dir" -a -r "$dir/02packages.details.txt.gz" ] && packagelist="$dir/02packages.details.txt.gz";
|
---|
3152 | done;
|
---|
3153 | COMPREPLY=($( zgrep "^${cur//-/::}" $packagelist 2>/dev/null | awk '{print $1}' | sed -e 's/::/-/g' ));
|
---|
3154 | fi
|
---|
3155 | }
|
---|
3156 | _cpio ()
|
---|
3157 | {
|
---|
3158 | local cur;
|
---|
3159 | COMPREPLY=();
|
---|
3160 | cur=`_get_cword`;
|
---|
3161 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3162 | case $prev in
|
---|
3163 | -H)
|
---|
3164 | _cpio_format;
|
---|
3165 | return 0
|
---|
3166 | ;;
|
---|
3167 | -@(E|F|I))
|
---|
3168 | _filedir;
|
---|
3169 | return 0
|
---|
3170 | ;;
|
---|
3171 | -R)
|
---|
3172 | _usergroup;
|
---|
3173 | return 0
|
---|
3174 | ;;
|
---|
3175 | esac;
|
---|
3176 | if [[ "$cur" == *=* ]]; then
|
---|
3177 | prev=${cur/=*/};
|
---|
3178 | cur=${cur/*=/};
|
---|
3179 | case $prev in
|
---|
3180 | --format)
|
---|
3181 | _cpio_format;
|
---|
3182 | return 0
|
---|
3183 | ;;
|
---|
3184 | --@(file|pattern-file))
|
---|
3185 | _filedir;
|
---|
3186 | return 0
|
---|
3187 | ;;
|
---|
3188 | --owner)
|
---|
3189 | _usergroup;
|
---|
3190 | return 0
|
---|
3191 | ;;
|
---|
3192 | --rsh-command)
|
---|
3193 | COMPREPLY=($( compgen -c -- $cur ));
|
---|
3194 | return 0
|
---|
3195 | ;;
|
---|
3196 | esac;
|
---|
3197 | fi;
|
---|
3198 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
3199 | COMPREPLY=($( compgen -W '-o --create -i --extract -p --pass-through' -- $cur));
|
---|
3200 | else
|
---|
3201 | case ${COMP_WORDS[1]} in
|
---|
3202 | -@(o|-create))
|
---|
3203 | if [[ "$cur" == -* ]]; then
|
---|
3204 | COMPREPLY=($( compgen -W '-0 -a -c -v -A -B\
|
---|
3205 | -L -V -C -H -M -O -F --file= --format=\
|
---|
3206 | --message= --null --reset-access-time\
|
---|
3207 | --verbose --dot --append --block-size=\
|
---|
3208 | --dereference --io-size= --quiet\
|
---|
3209 | --force-local --rsh-command= --help\
|
---|
3210 | --version' -- $cur ));
|
---|
3211 | fi
|
---|
3212 | ;;
|
---|
3213 | -@(i|-extract))
|
---|
3214 | if [[ "$cur" == -* ]]; then
|
---|
3215 | COMPREPLY=($( compgen -W '-b -c -d -f -m -n -r\
|
---|
3216 | -t -s -u -v -B -S -V -C -E -H -M -R -I\
|
---|
3217 | -F --file= --make-directories\
|
---|
3218 | --nonmatching\
|
---|
3219 | --preserve-modification-time\
|
---|
3220 | --numeric-uid-gid --rename -t --list\
|
---|
3221 | --swap-bytes --swap --dot\
|
---|
3222 | --unconditional --verbose --block-size=\
|
---|
3223 | --swap-halfwords --io-size=\
|
---|
3224 | --pattern-file= --format= --owner=\
|
---|
3225 | --no-preserve-owner --message=\
|
---|
3226 | --force-local --no-absolute-filenames\
|
---|
3227 | --sparse --only-verify-crc --quiet\
|
---|
3228 | --rsh-command= --help\
|
---|
3229 | --version' -- $cur ));
|
---|
3230 | fi
|
---|
3231 | ;;
|
---|
3232 | -@(p|-pass-through))
|
---|
3233 | if [[ "$cur" == -* ]]; then
|
---|
3234 | COMPREPLY=($( compgen -W '-0 -a -d -l -m -u -v\
|
---|
3235 | -L -V -R --null --reset-access-time\
|
---|
3236 | --make-directories --link --quiet\
|
---|
3237 | --preserve-modification-time\
|
---|
3238 | --unconditional --verbose --dot\
|
---|
3239 | --dereference --owner=\
|
---|
3240 | --no-preserve-owner --sparse --help\
|
---|
3241 | --version' -- $cur ));
|
---|
3242 | else
|
---|
3243 | _filedir -d;
|
---|
3244 | fi
|
---|
3245 | ;;
|
---|
3246 | esac;
|
---|
3247 | fi
|
---|
3248 | }
|
---|
3249 | _cpio_format ()
|
---|
3250 | {
|
---|
3251 | COMPREPLY=($( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- $cur ))
|
---|
3252 | }
|
---|
3253 | _cvs ()
|
---|
3254 | {
|
---|
3255 | local cur count mode i cvsroot cvsroots pwd;
|
---|
3256 | local -a flags miss files entries changed newremoved;
|
---|
3257 | COMPREPLY=();
|
---|
3258 | cur=`_get_cword`;
|
---|
3259 | count=0;
|
---|
3260 | for i in "${COMP_WORDS[@]}";
|
---|
3261 | do
|
---|
3262 | [ $count -eq $COMP_CWORD ] && break;
|
---|
3263 | if [ "${COMP_WORDS[((count))]}" == "$cvsroot" -a "$mode" == "cvsroot" ]; then
|
---|
3264 | mode="";
|
---|
3265 | fi;
|
---|
3266 | if [ -z "$mode" ]; then
|
---|
3267 | case $i in
|
---|
3268 | -d)
|
---|
3269 | mode=cvsroot;
|
---|
3270 | cvsroot=${COMP_WORDS[((count+1))]}
|
---|
3271 | ;;
|
---|
3272 | @(ad?(d)|new))
|
---|
3273 | mode=add
|
---|
3274 | ;;
|
---|
3275 | @(adm?(in)|rcs))
|
---|
3276 | mode=admin
|
---|
3277 | ;;
|
---|
3278 | ann?(notate))
|
---|
3279 | mode=annotate
|
---|
3280 | ;;
|
---|
3281 | @(checkout|co|get))
|
---|
3282 | mode=checkout
|
---|
3283 | ;;
|
---|
3284 | @(com?(mit)|ci))
|
---|
3285 | mode=commit
|
---|
3286 | ;;
|
---|
3287 | di?(f?(f)))
|
---|
3288 | mode=diff
|
---|
3289 | ;;
|
---|
3290 | ex?(p?(ort)))
|
---|
3291 | mode=export
|
---|
3292 | ;;
|
---|
3293 | ?(un)edit)
|
---|
3294 | mode=$i
|
---|
3295 | ;;
|
---|
3296 | hi?(s?(tory)))
|
---|
3297 | mode=history
|
---|
3298 | ;;
|
---|
3299 | im?(p?(ort)))
|
---|
3300 | mode=import
|
---|
3301 | ;;
|
---|
3302 | re?(l?(ease)))
|
---|
3303 | mode=release
|
---|
3304 | ;;
|
---|
3305 | ?(r)log)
|
---|
3306 | mode=log
|
---|
3307 | ;;
|
---|
3308 | @(rdiff|patch))
|
---|
3309 | mode=rdiff
|
---|
3310 | ;;
|
---|
3311 | @(remove|rm|delete))
|
---|
3312 | mode=remove
|
---|
3313 | ;;
|
---|
3314 | @(rtag|rfreeze))
|
---|
3315 | mode=rtag
|
---|
3316 | ;;
|
---|
3317 | st?(at?(us)))
|
---|
3318 | mode=status
|
---|
3319 | ;;
|
---|
3320 | @(tag|freeze))
|
---|
3321 | mode=tag
|
---|
3322 | ;;
|
---|
3323 | up?(d?(ate)))
|
---|
3324 | mode=update
|
---|
3325 | ;;
|
---|
3326 | *)
|
---|
3327 |
|
---|
3328 | ;;
|
---|
3329 | esac;
|
---|
3330 | else
|
---|
3331 | if [[ "$i" = -* ]]; then
|
---|
3332 | flags=("${flags[@]}" $i);
|
---|
3333 | fi;
|
---|
3334 | fi;
|
---|
3335 | count=$((++count));
|
---|
3336 | done;
|
---|
3337 | case "$mode" in
|
---|
3338 | add)
|
---|
3339 | if [[ "$cur" != -* ]]; then
|
---|
3340 | set_prefix;
|
---|
3341 | if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
|
---|
3342 | get_entries;
|
---|
3343 | [ -z "$cur" ] && files=$( command ls -Ad !(CVS) ) || files=$( command ls -d ${cur}* 2>/dev/null );
|
---|
3344 | for i in "${entries[@]}";
|
---|
3345 | do
|
---|
3346 | files=(${files[@]/#$i//});
|
---|
3347 | done;
|
---|
3348 | COMPREPLY=($( compgen -X '*~' -W '${files[@]}' -- $cur ));
|
---|
3349 | fi;
|
---|
3350 | else
|
---|
3351 | COMPREPLY=($( compgen -W '-k -m' -- $cur ));
|
---|
3352 | fi
|
---|
3353 | ;;
|
---|
3354 | admin)
|
---|
3355 | if [[ "$cur" = -* ]]; then
|
---|
3356 | COMPREPLY=($( compgen -W '-i -a -A -e -b -c -k -l -u \
|
---|
3357 | -L -U -m -M -n -N -o -q -I \
|
---|
3358 | -s -t -t- -T -V -x -z' -- $cur ));
|
---|
3359 | fi
|
---|
3360 | ;;
|
---|
3361 | annotate)
|
---|
3362 | if [[ "$cur" = -* ]]; then
|
---|
3363 | COMPREPLY=($( compgen -W '-D -F -f -l -R -r' -- $cur ));
|
---|
3364 | else
|
---|
3365 | get_entries;
|
---|
3366 | COMPREPLY=($( compgen -W '${entries[@]}' -- $cur ));
|
---|
3367 | fi
|
---|
3368 | ;;
|
---|
3369 | checkout)
|
---|
3370 | if [[ "$cur" != -* ]]; then
|
---|
3371 | [ -z "$cvsroot" ] && cvsroot=$CVSROOT;
|
---|
3372 | COMPREPLY=($( cvs -d "$cvsroot" co -c 2> /dev/null | awk '{print $1}' ));
|
---|
3373 | COMPREPLY=($( compgen -W '${COMPREPLY[@]}' -- $cur ));
|
---|
3374 | else
|
---|
3375 | COMPREPLY=($( compgen -W '-A -N -P -R -c -f -l -n -p \
|
---|
3376 | -s -r -D -d -k -j' -- $cur ));
|
---|
3377 | fi
|
---|
3378 | ;;
|
---|
3379 | commit)
|
---|
3380 | set_prefix;
|
---|
3381 | if [[ "$cur" != -* ]] && [ -r ${prefix:-}CVS/Entries ]; then
|
---|
3382 | if [ -n "${COMP_CVS_REMOTE:-}" ]; then
|
---|
3383 | changed=($( cvs -q diff --brief 2>&1 | sed -ne 's/^Files [^ ]* and \([^ ]*\) differ$/\1/p' ));
|
---|
3384 | newremoved=($( cvs -q diff --brief 2>&1 | sed -ne 's/^cvs diff: \([^ ]*\) .*, no comparison available$/\1/p' ));
|
---|
3385 | COMPREPLY=($( compgen -W '${changed[@]:-} \
|
---|
3386 | ${newremoved[@]:-}' -- $cur ));
|
---|
3387 | else
|
---|
3388 | COMPREPLY=($(compgen $default -- "$cur"));
|
---|
3389 | fi;
|
---|
3390 | else
|
---|
3391 | COMPREPLY=($( compgen -W '-n -R -l -f -F -m -r' -- $cur ));
|
---|
3392 | fi
|
---|
3393 | ;;
|
---|
3394 | cvsroot)
|
---|
3395 | if [ -r ~/.cvspass ]; then
|
---|
3396 | cvsroots=$( sed 's/^[^ ]* //; s/:/\\:/g' ~/.cvspass );
|
---|
3397 | COMPREPLY=($( compgen -W '$cvsroots' -- $cur ));
|
---|
3398 | fi
|
---|
3399 | ;;
|
---|
3400 | export)
|
---|
3401 | if [[ "$cur" != -* ]]; then
|
---|
3402 | [ -z "$cvsroot" ] && cvsroot=$CVSROOT;
|
---|
3403 | COMPREPLY=($( cvs -d "$cvsroot" co -c | awk '{print $1}' ));
|
---|
3404 | COMPREPLY=($( compgen -W '${COMPREPLY[@]}' -- $cur ));
|
---|
3405 | else
|
---|
3406 | COMPREPLY=($( compgen -W '-N -f -l -R -n \
|
---|
3407 | -r -D -d -k' -- $cur ));
|
---|
3408 | fi
|
---|
3409 | ;;
|
---|
3410 | diff)
|
---|
3411 | if [[ "$cur" == -* ]]; then
|
---|
3412 | _longopt diff;
|
---|
3413 | else
|
---|
3414 | get_entries;
|
---|
3415 | COMPREPLY=($( compgen -W '${entries[@]:-}' -- $cur ));
|
---|
3416 | fi
|
---|
3417 | ;;
|
---|
3418 | remove)
|
---|
3419 | if [[ "$cur" != -* ]]; then
|
---|
3420 | set_prefix;
|
---|
3421 | if [ $COMP_CWORD -gt 1 -a -r ${prefix:-}CVS/Entries ]; then
|
---|
3422 | get_entries;
|
---|
3423 | for i in "${entries[@]}";
|
---|
3424 | do
|
---|
3425 | [ ! -r "$i" ] && miss=("${miss[@]}" $i);
|
---|
3426 | done;
|
---|
3427 | COMPREPLY=($(compgen -W '${miss[@]:-}' -- $cur));
|
---|
3428 | fi;
|
---|
3429 | else
|
---|
3430 | COMPREPLY=($( compgen -W '-f -l -R' -- $cur ));
|
---|
3431 | fi
|
---|
3432 | ;;
|
---|
3433 | import)
|
---|
3434 | if [[ "$cur" != -* ]]; then
|
---|
3435 | [ -z "$cvsroot" ] && cvsroot=$CVSROOT;
|
---|
3436 | prefix=${cur%/*};
|
---|
3437 | if [ -r ${cvsroot}/${prefix} ]; then
|
---|
3438 | get_modules;
|
---|
3439 | COMPREPLY=(${COMPREPLY[@]#$cvsroot});
|
---|
3440 | COMPREPLY=(${COMPREPLY[@]#\/});
|
---|
3441 | fi;
|
---|
3442 | pwd=$( pwd );
|
---|
3443 | pwd=${pwd##*/};
|
---|
3444 | COMPREPLY=($( compgen -W '${COMPREPLY[@]} $pwd' -- $cur ));
|
---|
3445 | else
|
---|
3446 | COMPREPLY=($( compgen -W '-d -k -I -b -m -W' -- $cur ));
|
---|
3447 | fi
|
---|
3448 | ;;
|
---|
3449 | update)
|
---|
3450 | if [[ "$cur" = -* ]]; then
|
---|
3451 | COMPREPLY=($( compgen -W '-A -P -C -d -f -l -R -p \
|
---|
3452 | -k -r -D -j -I -W' -- $cur ));
|
---|
3453 | fi
|
---|
3454 | ;;
|
---|
3455 | "")
|
---|
3456 | COMPREPLY=($( compgen -W 'add admin annotate checkout ci co \
|
---|
3457 | commit diff delete edit export \
|
---|
3458 | freeze get history import log new \
|
---|
3459 | patch rcs rdiff release remove \
|
---|
3460 | rfreeze rlog rm rtag stat status \
|
---|
3461 | tag unedit up update -H -Q -q -b \
|
---|
3462 | -d -e -f -l -n -t -r -v -w -x -z \
|
---|
3463 | --help --version' -- $cur ))
|
---|
3464 | ;;
|
---|
3465 | *)
|
---|
3466 |
|
---|
3467 | ;;
|
---|
3468 | esac;
|
---|
3469 | return 0
|
---|
3470 | }
|
---|
3471 | _dd ()
|
---|
3472 | {
|
---|
3473 | local cur;
|
---|
3474 | COMPREPLY=();
|
---|
3475 | cur=`_get_cword`;
|
---|
3476 | case "$cur" in
|
---|
3477 | if=* | of=*)
|
---|
3478 | cur=${cur#*=};
|
---|
3479 | _filedir;
|
---|
3480 | return 0
|
---|
3481 | ;;
|
---|
3482 | conv=*)
|
---|
3483 | cur=${cur#*=};
|
---|
3484 | COMPREPLY=($( compgen -W 'ascii ebcdic ibm block unblock \
|
---|
3485 | lcase notrunc ucase swab noerror sync' -- $cur ));
|
---|
3486 | return 0
|
---|
3487 | ;;
|
---|
3488 | esac;
|
---|
3489 | _expand || return 0;
|
---|
3490 | COMPREPLY=($( compgen -W '--help --version' -- $cur ) $( compgen -W 'bs cbs conv count ibs if obs of seek skip' -S '=' -- $cur ))
|
---|
3491 | }
|
---|
3492 | _debconf_show ()
|
---|
3493 | {
|
---|
3494 | local cur;
|
---|
3495 | COMPREPLY=();
|
---|
3496 | cur=${COMP_WORDS[COMP_CWORD]};
|
---|
3497 | COMPREPLY=($( compgen -W '--listowners --listdbs --db=' -- $cur ) $( apt-cache pkgnames -- $cur ))
|
---|
3498 | }
|
---|
3499 | _dhclient ()
|
---|
3500 | {
|
---|
3501 | local cur prev;
|
---|
3502 | COMPREPLY=();
|
---|
3503 | cur=`_get_cword`;
|
---|
3504 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3505 | case "$prev" in
|
---|
3506 | -@(cf|lf|pf|sf))
|
---|
3507 | _filedir;
|
---|
3508 | return 0
|
---|
3509 | ;;
|
---|
3510 | -s)
|
---|
3511 | _known_hosts;
|
---|
3512 | return 0
|
---|
3513 | ;;
|
---|
3514 | esac;
|
---|
3515 | if [[ "$cur" == -* ]]; then
|
---|
3516 | COMPREPLY=($( compgen -W '-p -d -q -1 -r -lf -pf \
|
---|
3517 | -cf -sf -s -g -n -nw -w' -- $cur ));
|
---|
3518 | else
|
---|
3519 | _available_interfaces;
|
---|
3520 | fi
|
---|
3521 | }
|
---|
3522 | _dnsspoof ()
|
---|
3523 | {
|
---|
3524 | local cur;
|
---|
3525 | COMPREPLY=();
|
---|
3526 | cur=`_get_cword`;
|
---|
3527 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3528 | case "$prev" in
|
---|
3529 | -i)
|
---|
3530 | _interfaces;
|
---|
3531 | return 0
|
---|
3532 | ;;
|
---|
3533 | -f)
|
---|
3534 | _filedir;
|
---|
3535 | return 0
|
---|
3536 | ;;
|
---|
3537 | esac;
|
---|
3538 | if [[ "$cur" == -* ]]; then
|
---|
3539 | COMPREPLY=($( compgen -W '-i -f' -- $cur ));
|
---|
3540 | fi
|
---|
3541 | }
|
---|
3542 | _dpkg ()
|
---|
3543 | {
|
---|
3544 | local cur prev i;
|
---|
3545 | COMPREPLY=();
|
---|
3546 | cur=`_get_cword`;
|
---|
3547 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3548 | i=$COMP_CWORD;
|
---|
3549 | _expand || return 0;
|
---|
3550 | if [[ $cur != -* ]]; then
|
---|
3551 | while [[ $prev != -* && $i != 1 ]]; do
|
---|
3552 | i=$((i-1));
|
---|
3553 | prev=${COMP_WORDS[i-1]};
|
---|
3554 | done;
|
---|
3555 | fi;
|
---|
3556 | case "$prev" in
|
---|
3557 | -@(c|i|A|I|f|e|x|X|-@(install|unpack|record-avail|contents|info|fsys-tarfile|field|control|extract)))
|
---|
3558 | _filedir '?(u)deb';
|
---|
3559 | return 0
|
---|
3560 | ;;
|
---|
3561 | -@(b|-build))
|
---|
3562 | _filedir -d;
|
---|
3563 | return 0
|
---|
3564 | ;;
|
---|
3565 | -@(s|p|l|-@(status|print-avail|list)))
|
---|
3566 | COMPREPLY=($( apt-cache pkgnames $cur 2>/dev/null ));
|
---|
3567 | return 0
|
---|
3568 | ;;
|
---|
3569 | -@(S|-search))
|
---|
3570 | _filedir;
|
---|
3571 | return 0
|
---|
3572 | ;;
|
---|
3573 | -@(r|L|P|-@(remove|purge|listfiles)))
|
---|
3574 | COMPREPLY=($( _comp_dpkg_installed_packages $cur ));
|
---|
3575 | return 0
|
---|
3576 | ;;
|
---|
3577 | *)
|
---|
3578 | COMPREPLY=($( compgen -W '-i --install --unpack -A --record-avail \
|
---|
3579 | --configure -r --remove -P --purge --get-selections \
|
---|
3580 | --set-selections --update-avail --merge-avail \
|
---|
3581 | --clear-avail --command-fd --forget-old-unavail -s \
|
---|
3582 | --status -p --print-avail -L --listfiles -l --list \
|
---|
3583 | -S --search -C --audit --print-architecture \
|
---|
3584 | --print-gnu-build-architecture \
|
---|
3585 | --print-installation-architecture \
|
---|
3586 | --compare-versions --help --version --force-help \
|
---|
3587 | --force-all --force-auto-select --force-downgrade \
|
---|
3588 | --force-configure-any --force-hold --force-bad-path \
|
---|
3589 | --force-not-root --force-overwrite \
|
---|
3590 | --force-overwrite-diverted --force-bad-verify \
|
---|
3591 | --force-depends-version --force-depends \
|
---|
3592 | --force-confnew --force-confold --force-confdef \
|
---|
3593 | --force-confmiss --force-conflicts --force-architecture\
|
---|
3594 | --force-overwrite-dir --force-remove-reinstreq \
|
---|
3595 | --force-remove-essential -Dh \
|
---|
3596 | --debug=help --licence --admindir= --root= --instdir= \
|
---|
3597 | -O --selected-only -E --skip-same-version \
|
---|
3598 | -G --refuse-downgrade -B --auto-deconfigure \
|
---|
3599 | --no-debsig --no-act -D --debug= --status-fd \
|
---|
3600 | -b --build -I --info -f --field -c --contents \
|
---|
3601 | -x --extract -X --vextract --fsys-tarfile -e --control \
|
---|
3602 | --ignore-depends= --abort-after' -- $cur ))
|
---|
3603 | ;;
|
---|
3604 | esac
|
---|
3605 | }
|
---|
3606 | _dpkg_reconfigure ()
|
---|
3607 | {
|
---|
3608 | local cur prev opt;
|
---|
3609 | COMPREPLY=();
|
---|
3610 | cur=`_get_cword`;
|
---|
3611 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3612 | case "$prev" in
|
---|
3613 | -@(f|-frontend))
|
---|
3614 | opt=($( echo /usr/share/perl5/Debconf/FrontEnd/* ));
|
---|
3615 | opt=(${opt[@]##*/});
|
---|
3616 | opt=(${opt[@]%.pm});
|
---|
3617 | COMPREPLY=($( compgen -W '${opt[@]}' -- $cur ));
|
---|
3618 | return 0
|
---|
3619 | ;;
|
---|
3620 | -@(p|-priority))
|
---|
3621 | COMPREPLY=($( compgen -W 'low medium high critical' -- $cur ));
|
---|
3622 | return 0
|
---|
3623 | ;;
|
---|
3624 | esac;
|
---|
3625 | if [[ "$cur" == -* ]]; then
|
---|
3626 | COMPREPLY=($( compgen -W '-f --frontend -p --priority -a --all \
|
---|
3627 | -u --unseen-only -h --help -s --showold \
|
---|
3628 | --force --terse' -- $cur ));
|
---|
3629 | else
|
---|
3630 | COMPREPLY=($( _comp_dpkg_installed_packages $cur ));
|
---|
3631 | fi
|
---|
3632 | }
|
---|
3633 | _dpkg_source ()
|
---|
3634 | {
|
---|
3635 | local cur prev options work i action packopts unpackopts;
|
---|
3636 | packopts="-c -l -F -V -T -D -U -W -E -sa -i -I -sk -sp -su -sr -ss -sn -sA -sK -sP -sU -sR";
|
---|
3637 | unpackopts="-sp -sn -su";
|
---|
3638 | options=`echo "-x -b $packopts $unpackopts" | xargs echo | sort -u | xargs echo`;
|
---|
3639 | COMPREPLY=();
|
---|
3640 | if [ "$1" != "dpkg-source" ]; then
|
---|
3641 | return 1;
|
---|
3642 | fi;
|
---|
3643 | cur=`_get_cword`;
|
---|
3644 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3645 | action="options";
|
---|
3646 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
3647 | do
|
---|
3648 | if [[ ${COMP_WORDS[$i]} == "-x" ]]; then
|
---|
3649 | action=unpack;
|
---|
3650 | else
|
---|
3651 | if [[ ${COMP_WORDS[$i]} == "-b" ]]; then
|
---|
3652 | action=pack;
|
---|
3653 | else
|
---|
3654 | if [[ ${COMP_WORDS[$i]} == "-h" ]]; then
|
---|
3655 | action=help;
|
---|
3656 | fi;
|
---|
3657 | fi;
|
---|
3658 | fi;
|
---|
3659 | done;
|
---|
3660 | for i in $options;
|
---|
3661 | do
|
---|
3662 | if [ "$cur" = "$i" ]; then
|
---|
3663 | COMPREPLY=("$cur");
|
---|
3664 | return 0;
|
---|
3665 | fi;
|
---|
3666 | done;
|
---|
3667 | case "$action" in
|
---|
3668 | "unpack")
|
---|
3669 | if [ "$cur" = "-" -o "$cur" = "-s" ]; then
|
---|
3670 | COMPREPLY=($unpackopts);
|
---|
3671 | return 0;
|
---|
3672 | fi;
|
---|
3673 | case "$prev" in
|
---|
3674 | "-x")
|
---|
3675 | COMPREPLY=($( compgen -d -- "$cur" ) $( compgen -f -X '!*.dsc' -- "$cur" ));
|
---|
3676 | return 0
|
---|
3677 | ;;
|
---|
3678 | *)
|
---|
3679 | COMPREPLY=($unpackopts $(compgen -d -f -- "$cur" ));
|
---|
3680 | return 0
|
---|
3681 | ;;
|
---|
3682 | esac;
|
---|
3683 | return 0
|
---|
3684 | ;;
|
---|
3685 | "pack")
|
---|
3686 | if [ "$cur" = "-" ]; then
|
---|
3687 | COMPREPLY=($packopts);
|
---|
3688 | return 0;
|
---|
3689 | fi;
|
---|
3690 | if [ "$cur" = "-s" ]; then
|
---|
3691 | COMPREPLY=("-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" "-sA" "-sK" "-sP" "-sU" "-sR");
|
---|
3692 | return 0;
|
---|
3693 | fi;
|
---|
3694 | case "$prev" in
|
---|
3695 | "-b")
|
---|
3696 | COMPREPLY=($( compgen -d -- "$cur" ));
|
---|
3697 | return 0
|
---|
3698 | ;;
|
---|
3699 | "-c" | "-l" | "-T" | "-i" | "-I")
|
---|
3700 | COMPREPLY=($( compgen -d -f ));
|
---|
3701 | return 0
|
---|
3702 | ;;
|
---|
3703 | "-F")
|
---|
3704 | COMPREPLY=($( ( cd /usr/lib/dpkg/parsechangelog; compgen -f "$cur" ) ));
|
---|
3705 | return 0
|
---|
3706 | ;;
|
---|
3707 | "-V" | "-D")
|
---|
3708 | COMPREPLY=();
|
---|
3709 | return 0
|
---|
3710 | ;;
|
---|
3711 | "-D")
|
---|
3712 | if echo -- "$cur" | grep --color=auto -q "="; then
|
---|
3713 | COMPREPLY=();
|
---|
3714 | return 0;
|
---|
3715 | else
|
---|
3716 | COMPREPLY=(Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files);
|
---|
3717 | return 0;
|
---|
3718 | fi
|
---|
3719 | ;;
|
---|
3720 | "-U")
|
---|
3721 | COMPREPLY=(Format Source Version Binary Maintainer Uploader Architecture Standards-Version Build-Depends Files);
|
---|
3722 | return 0
|
---|
3723 | ;;
|
---|
3724 | *)
|
---|
3725 | COMPREPLY=($packopts);
|
---|
3726 | return 0
|
---|
3727 | ;;
|
---|
3728 | esac;
|
---|
3729 | return 0
|
---|
3730 | ;;
|
---|
3731 | *)
|
---|
3732 | if [ "$cur" = "-s" ]; then
|
---|
3733 | COMPREPLY=("-sa" "-sk" "-sp" "-su" "-sr" "-ss" "-sn" "-sA" "-sK" "-sP" "-sU" "-sR");
|
---|
3734 | return 0;
|
---|
3735 | fi;
|
---|
3736 | COMPREPLY=($options);
|
---|
3737 | return 0
|
---|
3738 | ;;
|
---|
3739 | esac
|
---|
3740 | }
|
---|
3741 | _dsniff ()
|
---|
3742 | {
|
---|
3743 | local cur;
|
---|
3744 | COMPREPLY=();
|
---|
3745 | cur=`_get_cword`;
|
---|
3746 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3747 | case "$prev" in
|
---|
3748 | -@(r|w|f))
|
---|
3749 | _filedir;
|
---|
3750 | return 0
|
---|
3751 | ;;
|
---|
3752 | -i)
|
---|
3753 | _interfaces;
|
---|
3754 | return 0
|
---|
3755 | ;;
|
---|
3756 | esac;
|
---|
3757 | if [[ "$cur" == -* ]]; then
|
---|
3758 | COMPREPLY=($( compgen -W '-c -d -m -n -i -s -f -t \
|
---|
3759 | -r -w' -- $cur ));
|
---|
3760 | fi
|
---|
3761 | }
|
---|
3762 | _dumpdb ()
|
---|
3763 | {
|
---|
3764 | local cur;
|
---|
3765 | COMPREPLY=();
|
---|
3766 | cur=`_get_cword`;
|
---|
3767 | if [[ "$cur" == -* ]]; then
|
---|
3768 | COMPREPLY=($( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- $cur ));
|
---|
3769 | else
|
---|
3770 | _filedir;
|
---|
3771 | fi
|
---|
3772 | }
|
---|
3773 | _expand ()
|
---|
3774 | {
|
---|
3775 | if [[ "$cur" == \~*/* ]]; then
|
---|
3776 | eval cur=$cur;
|
---|
3777 | else
|
---|
3778 | if [[ "$cur" == \~* ]]; then
|
---|
3779 | cur=${cur#\~};
|
---|
3780 | COMPREPLY=($( compgen -P '~' -u $cur ));
|
---|
3781 | [ ${#COMPREPLY[@]} -eq 1 ] && eval COMPREPLY[0]=${COMPREPLY[0]};
|
---|
3782 | return ${#COMPREPLY[@]};
|
---|
3783 | fi;
|
---|
3784 | fi
|
---|
3785 | }
|
---|
3786 | _export ()
|
---|
3787 | {
|
---|
3788 | local cur;
|
---|
3789 | COMPREPLY=();
|
---|
3790 | cur=`_get_cword`;
|
---|
3791 | case "$COMP_LINE" in
|
---|
3792 | *=\$*)
|
---|
3793 | COMPREPLY=($( compgen -v -P '$' -- ${cur#*=\$} ))
|
---|
3794 | ;;
|
---|
3795 | *[^=])
|
---|
3796 | COMPREPLY=($( compgen -v -S '=' -- $cur ))
|
---|
3797 | ;;
|
---|
3798 | *=)
|
---|
3799 | COMPREPLY=("$( eval echo -n \"$`echo ${cur%=}`\" |
|
---|
3800 | ( echo -n \'
|
---|
3801 | sed -e 's/'\''/'\''\\\'\'''\''/g'
|
---|
3802 | echo -n \' ) )")
|
---|
3803 | ;;
|
---|
3804 | esac
|
---|
3805 | }
|
---|
3806 | _filedir ()
|
---|
3807 | {
|
---|
3808 | local IFS='
|
---|
3809 | ' xspec;
|
---|
3810 | _expand || return 0;
|
---|
3811 | local -a toks;
|
---|
3812 | local tmp;
|
---|
3813 | toks=(${toks[@]-} $(
|
---|
3814 | compgen -d -- "$(quote_readline "$cur")" | {
|
---|
3815 | while read -r tmp; do
|
---|
3816 | echo $tmp
|
---|
3817 | done
|
---|
3818 | }
|
---|
3819 | ));
|
---|
3820 | if [[ "$1" != -d ]]; then
|
---|
3821 | xspec=${1:+"!*.$1"};
|
---|
3822 | toks=(${toks[@]-} $(
|
---|
3823 | compgen -f -X "$xspec" -- "$(quote_readline "$cur")" | {
|
---|
3824 | while read -r tmp; do
|
---|
3825 | [ -n $tmp ] && echo $tmp
|
---|
3826 | done
|
---|
3827 | }
|
---|
3828 | ));
|
---|
3829 | fi;
|
---|
3830 | COMPREPLY=("${COMPREPLY[@]}" "${toks[@]}")
|
---|
3831 | }
|
---|
3832 | _filedir_xspec ()
|
---|
3833 | {
|
---|
3834 | local IFS cur xspec;
|
---|
3835 | IFS='
|
---|
3836 | ';
|
---|
3837 | COMPREPLY=();
|
---|
3838 | cur=`_get_cword`;
|
---|
3839 | _expand || return 0;
|
---|
3840 | xspec=$( sed -ne '/^complete .*[ ]'${1##*/}'\([ ]\|$\)/{p;q;}' $BASH_COMPLETION );
|
---|
3841 | xspec=${xspec#*-X };
|
---|
3842 | xspec=${xspec%% *};
|
---|
3843 | local -a toks;
|
---|
3844 | local tmp;
|
---|
3845 | toks=(${toks[@]-} $(
|
---|
3846 | compgen -d -- "$(quote_readline "$cur")" | {
|
---|
3847 | while read -r tmp; do
|
---|
3848 | # see long TODO comment in _filedir() --David
|
---|
3849 | echo $tmp
|
---|
3850 | done
|
---|
3851 | }
|
---|
3852 | ));
|
---|
3853 | toks=(${toks[@]-} $(
|
---|
3854 | eval compgen -f -X "$xspec" -- "\$(quote_readline "\$cur")" | {
|
---|
3855 | while read -r tmp; do
|
---|
3856 | [ -n $tmp ] && echo $tmp
|
---|
3857 | done
|
---|
3858 | }
|
---|
3859 | ));
|
---|
3860 | COMPREPLY=("${toks[@]}")
|
---|
3861 | }
|
---|
3862 | _find ()
|
---|
3863 | {
|
---|
3864 | local cur prev i exprfound onlyonce;
|
---|
3865 | COMPREPLY=();
|
---|
3866 | cur=`_get_cword`;
|
---|
3867 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3868 | case "$prev" in
|
---|
3869 | -@(max|min)depth)
|
---|
3870 | COMPREPLY=($( compgen -W '0 1 2 3 4 5 6 7 8 9' -- $cur ));
|
---|
3871 | return 0
|
---|
3872 | ;;
|
---|
3873 | -?(a|c)newer | -fls | -fprint?(0|f) | -?(i)?(l)name | -?(i)wholename)
|
---|
3874 | _filedir;
|
---|
3875 | return 0
|
---|
3876 | ;;
|
---|
3877 | -fstype)
|
---|
3878 | [ -e /proc/filesystems ] && COMPREPLY=($( cut -d' ' -f 2 /proc/filesystems | grep "^$cur" ));
|
---|
3879 | return 0
|
---|
3880 | ;;
|
---|
3881 | -gid)
|
---|
3882 | _gids;
|
---|
3883 | return 0
|
---|
3884 | ;;
|
---|
3885 | -group)
|
---|
3886 | if [ -n "$bash205" ]; then
|
---|
3887 | COMPREPLY=($( compgen -g -- $cur 2>/dev/null));
|
---|
3888 | fi;
|
---|
3889 | return 0
|
---|
3890 | ;;
|
---|
3891 | -?(x)type)
|
---|
3892 | COMPREPLY=($( compgen -W 'b c d p f l s' -- $cur ));
|
---|
3893 | return 0
|
---|
3894 | ;;
|
---|
3895 | -uid)
|
---|
3896 | _uids;
|
---|
3897 | return 0
|
---|
3898 | ;;
|
---|
3899 | -user)
|
---|
3900 | COMPREPLY=($( compgen -u -- $cur ));
|
---|
3901 | return 0
|
---|
3902 | ;;
|
---|
3903 | -exec | -ok)
|
---|
3904 | COMP_WORDS=(COMP_WORDS[0] $cur);
|
---|
3905 | COMP_CWORD=1;
|
---|
3906 | _command;
|
---|
3907 | return 0
|
---|
3908 | ;;
|
---|
3909 | -[acm]min | -[acm]time | -?(i)?(l)?(whole)name | -inum | -?(i)path | -?(i)regex | -links | -perm | -size | -used | -printf)
|
---|
3910 | return 0
|
---|
3911 | ;;
|
---|
3912 | esac;
|
---|
3913 | _expand || return 0;
|
---|
3914 | for i in ${COMP_WORDS[@]};
|
---|
3915 | do
|
---|
3916 | [[ "$i" = [-\(\),\!]* ]] && exprfound=1 && break;
|
---|
3917 | done;
|
---|
3918 | if [ "$exprfound" != 1 ] && [[ "$cur" != [-\(\),\!]* ]]; then
|
---|
3919 | _filedir -d;
|
---|
3920 | return 0;
|
---|
3921 | fi;
|
---|
3922 | COMPREPLY=($( compgen -W '-daystart -depth -follow -help -maxdepth \
|
---|
3923 | -mindepth -mount -noleaf -version -xdev -amin -anewer \
|
---|
3924 | -atime -cmin -cnewer -ctime -empty -false -fstype \
|
---|
3925 | -gid -group -ilname -iname -inum -ipath -iregex \
|
---|
3926 | -wholename \
|
---|
3927 | -links -lname -mmin -mtime -name -newer -nouser \
|
---|
3928 | -nogroup -perm -regex -size -true -type -uid -used \
|
---|
3929 | -user -xtype -exec -fls -fprint -fprint0 -fprintf -ok \
|
---|
3930 | -print -print0 -printf -prune -ls -wholename -iwholename' -- $cur ));
|
---|
3931 | onlyonce=' -daystart -depth -follow -help -maxdepth -mindepth -mount \
|
---|
3932 | -noleaf -version -xdev ';
|
---|
3933 | COMPREPLY=($( echo "${COMP_WORDS[@]}" | (while read -d ' ' i; do
|
---|
3934 | [ "$i" == "" ] ||
|
---|
3935 | [ "${onlyonce/ ${i%% *} / }" == "$onlyonce" ] &&
|
---|
3936 | continue
|
---|
3937 | # flatten array with spaces on either side,
|
---|
3938 | # otherwise we cannot grep on word boundaries of
|
---|
3939 | # first and last word
|
---|
3940 | COMPREPLY=" ${COMPREPLY[@]} "
|
---|
3941 | # remove word from list of completions
|
---|
3942 | COMPREPLY=( ${COMPREPLY/ ${i%% *} / } )
|
---|
3943 | done
|
---|
3944 | echo "${COMPREPLY[@]}")
|
---|
3945 | ));
|
---|
3946 | _filedir;
|
---|
3947 | return 0
|
---|
3948 | }
|
---|
3949 | _find_member ()
|
---|
3950 | {
|
---|
3951 | local cur prev;
|
---|
3952 | COMPREPLY=();
|
---|
3953 | cur=`_get_cword`;
|
---|
3954 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3955 | case "$prev" in
|
---|
3956 | -@(l|x|-listname=|-exclude=))
|
---|
3957 | _mailman_lists;
|
---|
3958 | return 0
|
---|
3959 | ;;
|
---|
3960 | esac;
|
---|
3961 | if [[ "$cur" == -* ]]; then
|
---|
3962 | COMPREPLY=($( compgen -W '-l --listname= -x \
|
---|
3963 | --exclude= --owners -w --help -h' -- $cur ));
|
---|
3964 | fi
|
---|
3965 | }
|
---|
3966 | _function ()
|
---|
3967 | {
|
---|
3968 | local cur prev;
|
---|
3969 | COMPREPLY=();
|
---|
3970 | cur=`_get_cword`;
|
---|
3971 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
3972 | if [[ $1 == @(declare|typeset) ]]; then
|
---|
3973 | if [ "$prev" = -f ]; then
|
---|
3974 | COMPREPLY=($( compgen -A function -- $cur ));
|
---|
3975 | else
|
---|
3976 | if [[ "$cur" == -* ]]; then
|
---|
3977 | COMPREPLY=($( compgen -W '-a -f -F -i -r -x -p' -- $cur ));
|
---|
3978 | fi;
|
---|
3979 | fi;
|
---|
3980 | else
|
---|
3981 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
3982 | COMPREPLY=($( compgen -A function -- $cur ));
|
---|
3983 | else
|
---|
3984 | COMPREPLY=("() $( type -- ${COMP_WORDS[1]} | sed -e 1,2d )");
|
---|
3985 | fi;
|
---|
3986 | fi
|
---|
3987 | }
|
---|
3988 | _gcc ()
|
---|
3989 | {
|
---|
3990 | local cur cc backend;
|
---|
3991 | COMPREPLY=();
|
---|
3992 | cur=`_get_cword`;
|
---|
3993 | _expand || return 0;
|
---|
3994 | case "$1" in
|
---|
3995 | gcj)
|
---|
3996 | backend=jc1
|
---|
3997 | ;;
|
---|
3998 | gpc)
|
---|
3999 | backend=gpc1
|
---|
4000 | ;;
|
---|
4001 | *77)
|
---|
4002 | backend=f771
|
---|
4003 | ;;
|
---|
4004 | *)
|
---|
4005 | backend=cc1
|
---|
4006 | ;;
|
---|
4007 | esac;
|
---|
4008 | if [[ "$cur" == -* ]]; then
|
---|
4009 | cc=$( $1 -print-prog-name=$backend );
|
---|
4010 | COMPREPLY=($( $cc --help 2>/dev/null | tr '\t' ' ' | sed -e '/^ *-/!d' -e 's/ *-\([^ ]*\).*/-\1/' | command grep "^$cur" | sort -u ));
|
---|
4011 | else
|
---|
4012 | _filedir;
|
---|
4013 | fi
|
---|
4014 | }
|
---|
4015 | _gcl ()
|
---|
4016 | {
|
---|
4017 | local cur;
|
---|
4018 | COMPREPLY=();
|
---|
4019 | cur=`_get_cword`;
|
---|
4020 | if [[ "$cur" == -* ]]; then
|
---|
4021 | COMPREPLY=($( compgen -W '-eval -load -f -batch -dir -libdir \
|
---|
4022 | -compile -o-file -c-file -h-file -data-file -system-p ' -- $cur ));
|
---|
4023 | else
|
---|
4024 | _filedir;
|
---|
4025 | fi;
|
---|
4026 | return 0
|
---|
4027 | }
|
---|
4028 | _genaliases ()
|
---|
4029 | {
|
---|
4030 | local cur;
|
---|
4031 | COMPREPLY=();
|
---|
4032 | cur=`_get_cword`;
|
---|
4033 | if [[ "$cur" == -* ]]; then
|
---|
4034 | COMPREPLY=($( compgen -W '-q --quiet -h --help' -- $cur ));
|
---|
4035 | fi
|
---|
4036 | }
|
---|
4037 | _get_cword ()
|
---|
4038 | {
|
---|
4039 | if [[ "${#COMP_WORDS[COMP_CWORD]}" -eq 0 ]] || [[ "$COMP_POINT" == "${#COMP_LINE}" ]]; then
|
---|
4040 | printf "%s" "${COMP_WORDS[COMP_CWORD]}";
|
---|
4041 | else
|
---|
4042 | local i;
|
---|
4043 | local cur="$COMP_LINE";
|
---|
4044 | local index="$COMP_POINT";
|
---|
4045 | for ((i = 0; i <= COMP_CWORD; ++i ))
|
---|
4046 | do
|
---|
4047 | while [[ "${#cur}" -ge ${#COMP_WORDS[i]} ]] && [[ "${cur:0:${#COMP_WORDS[i]}}" != "${COMP_WORDS[i]}" ]]; do
|
---|
4048 | cur="${cur:1}";
|
---|
4049 | index="$(( index - 1 ))";
|
---|
4050 | done;
|
---|
4051 | if [[ "$i" -lt "$COMP_CWORD" ]]; then
|
---|
4052 | local old_size="${#cur}";
|
---|
4053 | cur="${cur#${COMP_WORDS[i]}}";
|
---|
4054 | local new_size="${#cur}";
|
---|
4055 | index="$(( index - old_size + new_size ))";
|
---|
4056 | fi;
|
---|
4057 | done;
|
---|
4058 | if [[ "${COMP_WORDS[COMP_CWORD]:0:${#cur}}" != "$cur" ]]; then
|
---|
4059 | printf "%s" "${COMP_WORDS[COMP_CWORD]}";
|
---|
4060 | else
|
---|
4061 | printf "%s" "${cur:0:$index}";
|
---|
4062 | fi;
|
---|
4063 | fi
|
---|
4064 | }
|
---|
4065 | _getent ()
|
---|
4066 | {
|
---|
4067 | local cur prev;
|
---|
4068 | COMPREPLY=();
|
---|
4069 | cur=`_get_cword`;
|
---|
4070 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
4071 | case $prev in
|
---|
4072 | passwd)
|
---|
4073 | COMPREPLY=($( compgen -u $cur ));
|
---|
4074 | return 0
|
---|
4075 | ;;
|
---|
4076 | group)
|
---|
4077 | COMPREPLY=($( compgen -g $cur ));
|
---|
4078 | return 0
|
---|
4079 | ;;
|
---|
4080 | services)
|
---|
4081 | COMPREPLY=($( compgen -s $cur ));
|
---|
4082 | return 0
|
---|
4083 | ;;
|
---|
4084 | hosts)
|
---|
4085 | COMPREPLY=($( compgen -A hostname $cur ));
|
---|
4086 | return 0
|
---|
4087 | ;;
|
---|
4088 | protocols | networks | ahosts | ahostsv4 | ahostsv6 | rpc)
|
---|
4089 | COMPREPLY=($( getent $prev | sed -ne 's|^\('$cur'[^[:space:]]*\).*|\1|p' ));
|
---|
4090 | return 0
|
---|
4091 | ;;
|
---|
4092 | aliases | shadow)
|
---|
4093 | COMPREPLY=($( getent $prev | sed -ne 's|^\('$cur'[^:]*\).*|\1|p' ));
|
---|
4094 | return 0
|
---|
4095 | ;;
|
---|
4096 | esac;
|
---|
4097 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
4098 | COMPREPLY=($( compgen -W 'passwd group hosts services \
|
---|
4099 | protocols networks ahosts ahostsv4 \
|
---|
4100 | ahostsv6 aliases ethers netgroup \
|
---|
4101 | rpc shadow' -- $cur ));
|
---|
4102 | fi
|
---|
4103 | }
|
---|
4104 | _gids ()
|
---|
4105 | {
|
---|
4106 | if type getent &>/dev/null; then
|
---|
4107 | COMPREPLY=($( getent group | awk -F: '{if ($3 ~ /^'$cur'/) print $3}' ));
|
---|
4108 | else
|
---|
4109 | if type perl &>/dev/null; then
|
---|
4110 | COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($gid) = (getgrent)[2]) { print $gid . "\n" }'"'"' )' -- $cur ));
|
---|
4111 | else
|
---|
4112 | COMPREPLY=($( awk 'BEGIN {FS=":"} {if ($3 ~ /^'$cur'/) print $3}' /etc/group ));
|
---|
4113 | fi;
|
---|
4114 | fi
|
---|
4115 | }
|
---|
4116 | _git ()
|
---|
4117 | {
|
---|
4118 | local i c=1 command __git_dir;
|
---|
4119 | while [ $c -lt $COMP_CWORD ]; do
|
---|
4120 | i="${COMP_WORDS[c]}";
|
---|
4121 | case "$i" in
|
---|
4122 | --git-dir=*)
|
---|
4123 | __git_dir="${i#--git-dir=}"
|
---|
4124 | ;;
|
---|
4125 | --bare)
|
---|
4126 | __git_dir="."
|
---|
4127 | ;;
|
---|
4128 | --version | -p | --paginate)
|
---|
4129 |
|
---|
4130 | ;;
|
---|
4131 | --help)
|
---|
4132 | command="help";
|
---|
4133 | break
|
---|
4134 | ;;
|
---|
4135 | *)
|
---|
4136 | command="$i";
|
---|
4137 | break
|
---|
4138 | ;;
|
---|
4139 | esac;
|
---|
4140 | c=$((++c));
|
---|
4141 | done;
|
---|
4142 | if [ -z "$command" ]; then
|
---|
4143 | case "${COMP_WORDS[COMP_CWORD]}" in
|
---|
4144 | --*)
|
---|
4145 | __gitcomp "
|
---|
4146 | --paginate
|
---|
4147 | --no-pager
|
---|
4148 | --git-dir=
|
---|
4149 | --bare
|
---|
4150 | --version
|
---|
4151 | --exec-path
|
---|
4152 | --html-path
|
---|
4153 | --work-tree=
|
---|
4154 | --help
|
---|
4155 | "
|
---|
4156 | ;;
|
---|
4157 | *)
|
---|
4158 | __gitcomp "$(__git_porcelain_commands) $(__git_aliases)"
|
---|
4159 | ;;
|
---|
4160 | esac;
|
---|
4161 | return;
|
---|
4162 | fi;
|
---|
4163 | local expansion=$(__git_aliased_command "$command");
|
---|
4164 | [ "$expansion" ] && command="$expansion";
|
---|
4165 | case "$command" in
|
---|
4166 | am)
|
---|
4167 | _git_am
|
---|
4168 | ;;
|
---|
4169 | add)
|
---|
4170 | _git_add
|
---|
4171 | ;;
|
---|
4172 | apply)
|
---|
4173 | _git_apply
|
---|
4174 | ;;
|
---|
4175 | archive)
|
---|
4176 | _git_archive
|
---|
4177 | ;;
|
---|
4178 | bisect)
|
---|
4179 | _git_bisect
|
---|
4180 | ;;
|
---|
4181 | bundle)
|
---|
4182 | _git_bundle
|
---|
4183 | ;;
|
---|
4184 | branch)
|
---|
4185 | _git_branch
|
---|
4186 | ;;
|
---|
4187 | checkout)
|
---|
4188 | _git_checkout
|
---|
4189 | ;;
|
---|
4190 | cherry)
|
---|
4191 | _git_cherry
|
---|
4192 | ;;
|
---|
4193 | cherry-pick)
|
---|
4194 | _git_cherry_pick
|
---|
4195 | ;;
|
---|
4196 | clean)
|
---|
4197 | _git_clean
|
---|
4198 | ;;
|
---|
4199 | clone)
|
---|
4200 | _git_clone
|
---|
4201 | ;;
|
---|
4202 | commit)
|
---|
4203 | _git_commit
|
---|
4204 | ;;
|
---|
4205 | config)
|
---|
4206 | _git_config
|
---|
4207 | ;;
|
---|
4208 | describe)
|
---|
4209 | _git_describe
|
---|
4210 | ;;
|
---|
4211 | diff)
|
---|
4212 | _git_diff
|
---|
4213 | ;;
|
---|
4214 | difftool)
|
---|
4215 | _git_difftool
|
---|
4216 | ;;
|
---|
4217 | fetch)
|
---|
4218 | _git_fetch
|
---|
4219 | ;;
|
---|
4220 | format-patch)
|
---|
4221 | _git_format_patch
|
---|
4222 | ;;
|
---|
4223 | fsck)
|
---|
4224 | _git_fsck
|
---|
4225 | ;;
|
---|
4226 | gc)
|
---|
4227 | _git_gc
|
---|
4228 | ;;
|
---|
4229 | grep)
|
---|
4230 | _git_grep
|
---|
4231 | ;;
|
---|
4232 | help)
|
---|
4233 | _git_help
|
---|
4234 | ;;
|
---|
4235 | init)
|
---|
4236 | _git_init
|
---|
4237 | ;;
|
---|
4238 | log)
|
---|
4239 | _git_log
|
---|
4240 | ;;
|
---|
4241 | ls-files)
|
---|
4242 | _git_ls_files
|
---|
4243 | ;;
|
---|
4244 | ls-remote)
|
---|
4245 | _git_ls_remote
|
---|
4246 | ;;
|
---|
4247 | ls-tree)
|
---|
4248 | _git_ls_tree
|
---|
4249 | ;;
|
---|
4250 | merge)
|
---|
4251 | _git_merge
|
---|
4252 | ;;
|
---|
4253 | mergetool)
|
---|
4254 | _git_mergetool
|
---|
4255 | ;;
|
---|
4256 | merge-base)
|
---|
4257 | _git_merge_base
|
---|
4258 | ;;
|
---|
4259 | mv)
|
---|
4260 | _git_mv
|
---|
4261 | ;;
|
---|
4262 | name-rev)
|
---|
4263 | _git_name_rev
|
---|
4264 | ;;
|
---|
4265 | pull)
|
---|
4266 | _git_pull
|
---|
4267 | ;;
|
---|
4268 | push)
|
---|
4269 | _git_push
|
---|
4270 | ;;
|
---|
4271 | rebase)
|
---|
4272 | _git_rebase
|
---|
4273 | ;;
|
---|
4274 | remote)
|
---|
4275 | _git_remote
|
---|
4276 | ;;
|
---|
4277 | reset)
|
---|
4278 | _git_reset
|
---|
4279 | ;;
|
---|
4280 | revert)
|
---|
4281 | _git_revert
|
---|
4282 | ;;
|
---|
4283 | rm)
|
---|
4284 | _git_rm
|
---|
4285 | ;;
|
---|
4286 | send-email)
|
---|
4287 | _git_send_email
|
---|
4288 | ;;
|
---|
4289 | shortlog)
|
---|
4290 | _git_shortlog
|
---|
4291 | ;;
|
---|
4292 | show)
|
---|
4293 | _git_show
|
---|
4294 | ;;
|
---|
4295 | show-branch)
|
---|
4296 | _git_show_branch
|
---|
4297 | ;;
|
---|
4298 | stash)
|
---|
4299 | _git_stash
|
---|
4300 | ;;
|
---|
4301 | stage)
|
---|
4302 | _git_add
|
---|
4303 | ;;
|
---|
4304 | submodule)
|
---|
4305 | _git_submodule
|
---|
4306 | ;;
|
---|
4307 | svn)
|
---|
4308 | _git_svn
|
---|
4309 | ;;
|
---|
4310 | tag)
|
---|
4311 | _git_tag
|
---|
4312 | ;;
|
---|
4313 | whatchanged)
|
---|
4314 | _git_log
|
---|
4315 | ;;
|
---|
4316 | *)
|
---|
4317 | COMPREPLY=()
|
---|
4318 | ;;
|
---|
4319 | esac
|
---|
4320 | }
|
---|
4321 | _git_add ()
|
---|
4322 | {
|
---|
4323 | __git_has_doubledash && return;
|
---|
4324 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4325 | case "$cur" in
|
---|
4326 | --*)
|
---|
4327 | __gitcomp "
|
---|
4328 | --interactive --refresh --patch --update --dry-run
|
---|
4329 | --ignore-errors --intent-to-add
|
---|
4330 | ";
|
---|
4331 | return
|
---|
4332 | ;;
|
---|
4333 | esac;
|
---|
4334 | COMPREPLY=()
|
---|
4335 | }
|
---|
4336 | _git_am ()
|
---|
4337 | {
|
---|
4338 | local cur="${COMP_WORDS[COMP_CWORD]}" dir="$(__gitdir)";
|
---|
4339 | if [ -d "$dir"/rebase-apply ]; then
|
---|
4340 | __gitcomp "--skip --resolved --abort";
|
---|
4341 | return;
|
---|
4342 | fi;
|
---|
4343 | case "$cur" in
|
---|
4344 | --whitespace=*)
|
---|
4345 | __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}";
|
---|
4346 | return
|
---|
4347 | ;;
|
---|
4348 | --*)
|
---|
4349 | __gitcomp "
|
---|
4350 | --3way --committer-date-is-author-date --ignore-date
|
---|
4351 | --interactive --keep --no-utf8 --signoff --utf8
|
---|
4352 | --whitespace=
|
---|
4353 | ";
|
---|
4354 | return
|
---|
4355 | ;;
|
---|
4356 | esac;
|
---|
4357 | COMPREPLY=()
|
---|
4358 | }
|
---|
4359 | _git_apply ()
|
---|
4360 | {
|
---|
4361 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4362 | case "$cur" in
|
---|
4363 | --whitespace=*)
|
---|
4364 | __gitcomp "$__git_whitespacelist" "" "${cur##--whitespace=}";
|
---|
4365 | return
|
---|
4366 | ;;
|
---|
4367 | --*)
|
---|
4368 | __gitcomp "
|
---|
4369 | --stat --numstat --summary --check --index
|
---|
4370 | --cached --index-info --reverse --reject --unidiff-zero
|
---|
4371 | --apply --no-add --exclude=
|
---|
4372 | --whitespace= --inaccurate-eof --verbose
|
---|
4373 | ";
|
---|
4374 | return
|
---|
4375 | ;;
|
---|
4376 | esac;
|
---|
4377 | COMPREPLY=()
|
---|
4378 | }
|
---|
4379 | _git_archive ()
|
---|
4380 | {
|
---|
4381 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4382 | case "$cur" in
|
---|
4383 | --format=*)
|
---|
4384 | __gitcomp "$(git archive --list)" "" "${cur##--format=}";
|
---|
4385 | return
|
---|
4386 | ;;
|
---|
4387 | --remote=*)
|
---|
4388 | __gitcomp "$(__git_remotes)" "" "${cur##--remote=}";
|
---|
4389 | return
|
---|
4390 | ;;
|
---|
4391 | --*)
|
---|
4392 | __gitcomp "
|
---|
4393 | --format= --list --verbose
|
---|
4394 | --prefix= --remote= --exec=
|
---|
4395 | ";
|
---|
4396 | return
|
---|
4397 | ;;
|
---|
4398 | esac;
|
---|
4399 | __git_complete_file
|
---|
4400 | }
|
---|
4401 | _git_bisect ()
|
---|
4402 | {
|
---|
4403 | __git_has_doubledash && return;
|
---|
4404 | local subcommands="start bad good skip reset visualize replay log run";
|
---|
4405 | local subcommand="$(__git_find_subcommand "$subcommands")";
|
---|
4406 | if [ -z "$subcommand" ]; then
|
---|
4407 | __gitcomp "$subcommands";
|
---|
4408 | return;
|
---|
4409 | fi;
|
---|
4410 | case "$subcommand" in
|
---|
4411 | bad | good | reset | skip)
|
---|
4412 | __gitcomp "$(__git_refs)"
|
---|
4413 | ;;
|
---|
4414 | *)
|
---|
4415 | COMPREPLY=()
|
---|
4416 | ;;
|
---|
4417 | esac
|
---|
4418 | }
|
---|
4419 | _git_branch ()
|
---|
4420 | {
|
---|
4421 | local i c=1 only_local_ref="n" has_r="n";
|
---|
4422 | while [ $c -lt $COMP_CWORD ]; do
|
---|
4423 | i="${COMP_WORDS[c]}";
|
---|
4424 | case "$i" in
|
---|
4425 | -d | -m)
|
---|
4426 | only_local_ref="y"
|
---|
4427 | ;;
|
---|
4428 | -r)
|
---|
4429 | has_r="y"
|
---|
4430 | ;;
|
---|
4431 | esac;
|
---|
4432 | c=$((++c));
|
---|
4433 | done;
|
---|
4434 | case "${COMP_WORDS[COMP_CWORD]}" in
|
---|
4435 | --*)
|
---|
4436 | __gitcomp "
|
---|
4437 | --color --no-color --verbose --abbrev= --no-abbrev
|
---|
4438 | --track --no-track --contains --merged --no-merged
|
---|
4439 | "
|
---|
4440 | ;;
|
---|
4441 | *)
|
---|
4442 | if [ $only_local_ref = "y" -a $has_r = "n" ]; then
|
---|
4443 | __gitcomp "$(__git_heads)";
|
---|
4444 | else
|
---|
4445 | __gitcomp "$(__git_refs)";
|
---|
4446 | fi
|
---|
4447 | ;;
|
---|
4448 | esac
|
---|
4449 | }
|
---|
4450 | _git_bundle ()
|
---|
4451 | {
|
---|
4452 | local cmd="${COMP_WORDS[2]}";
|
---|
4453 | case "$COMP_CWORD" in
|
---|
4454 | 2)
|
---|
4455 | __gitcomp "create list-heads verify unbundle"
|
---|
4456 | ;;
|
---|
4457 | 3)
|
---|
4458 |
|
---|
4459 | ;;
|
---|
4460 | *)
|
---|
4461 | case "$cmd" in
|
---|
4462 | create)
|
---|
4463 | __git_complete_revlist
|
---|
4464 | ;;
|
---|
4465 | esac
|
---|
4466 | ;;
|
---|
4467 | esac
|
---|
4468 | }
|
---|
4469 | _git_checkout ()
|
---|
4470 | {
|
---|
4471 | __git_has_doubledash && return;
|
---|
4472 | __gitcomp "$(__git_refs)"
|
---|
4473 | }
|
---|
4474 | _git_cherry ()
|
---|
4475 | {
|
---|
4476 | __gitcomp "$(__git_refs)"
|
---|
4477 | }
|
---|
4478 | _git_cherry_pick ()
|
---|
4479 | {
|
---|
4480 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4481 | case "$cur" in
|
---|
4482 | --*)
|
---|
4483 | __gitcomp "--edit --no-commit"
|
---|
4484 | ;;
|
---|
4485 | *)
|
---|
4486 | __gitcomp "$(__git_refs)"
|
---|
4487 | ;;
|
---|
4488 | esac
|
---|
4489 | }
|
---|
4490 | _git_clean ()
|
---|
4491 | {
|
---|
4492 | __git_has_doubledash && return;
|
---|
4493 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4494 | case "$cur" in
|
---|
4495 | --*)
|
---|
4496 | __gitcomp "--dry-run --quiet";
|
---|
4497 | return
|
---|
4498 | ;;
|
---|
4499 | esac;
|
---|
4500 | COMPREPLY=()
|
---|
4501 | }
|
---|
4502 | _git_clone ()
|
---|
4503 | {
|
---|
4504 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4505 | case "$cur" in
|
---|
4506 | --*)
|
---|
4507 | __gitcomp "
|
---|
4508 | --local
|
---|
4509 | --no-hardlinks
|
---|
4510 | --shared
|
---|
4511 | --reference
|
---|
4512 | --quiet
|
---|
4513 | --no-checkout
|
---|
4514 | --bare
|
---|
4515 | --mirror
|
---|
4516 | --origin
|
---|
4517 | --upload-pack
|
---|
4518 | --template=
|
---|
4519 | --depth
|
---|
4520 | ";
|
---|
4521 | return
|
---|
4522 | ;;
|
---|
4523 | esac;
|
---|
4524 | COMPREPLY=()
|
---|
4525 | }
|
---|
4526 | _git_commit ()
|
---|
4527 | {
|
---|
4528 | __git_has_doubledash && return;
|
---|
4529 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4530 | case "$cur" in
|
---|
4531 | --*)
|
---|
4532 | __gitcomp "
|
---|
4533 | --all --author= --signoff --verify --no-verify
|
---|
4534 | --edit --amend --include --only --interactive
|
---|
4535 | ";
|
---|
4536 | return
|
---|
4537 | ;;
|
---|
4538 | esac;
|
---|
4539 | COMPREPLY=()
|
---|
4540 | }
|
---|
4541 | _git_config ()
|
---|
4542 | {
|
---|
4543 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4544 | local prv="${COMP_WORDS[COMP_CWORD-1]}";
|
---|
4545 | case "$prv" in
|
---|
4546 | branch.*.remote)
|
---|
4547 | __gitcomp "$(__git_remotes)";
|
---|
4548 | return
|
---|
4549 | ;;
|
---|
4550 | branch.*.merge)
|
---|
4551 | __gitcomp "$(__git_refs)";
|
---|
4552 | return
|
---|
4553 | ;;
|
---|
4554 | remote.*.fetch)
|
---|
4555 | local remote="${prv#remote.}";
|
---|
4556 | remote="${remote%.fetch}";
|
---|
4557 | __gitcomp "$(__git_refs_remotes "$remote")";
|
---|
4558 | return
|
---|
4559 | ;;
|
---|
4560 | remote.*.push)
|
---|
4561 | local remote="${prv#remote.}";
|
---|
4562 | remote="${remote%.push}";
|
---|
4563 | __gitcomp "$(git --git-dir="$(__gitdir)" for-each-ref --format='%(refname):%(refname)' refs/heads)";
|
---|
4564 | return
|
---|
4565 | ;;
|
---|
4566 | pull.twohead | pull.octopus)
|
---|
4567 | __gitcomp "$(__git_merge_strategies)";
|
---|
4568 | return
|
---|
4569 | ;;
|
---|
4570 | color.branch | color.diff | color.interactive | color.status | color.ui)
|
---|
4571 | __gitcomp "always never auto";
|
---|
4572 | return
|
---|
4573 | ;;
|
---|
4574 | color.pager)
|
---|
4575 | __gitcomp "false true";
|
---|
4576 | return
|
---|
4577 | ;;
|
---|
4578 | color.*.*)
|
---|
4579 | __gitcomp "
|
---|
4580 | normal black red green yellow blue magenta cyan white
|
---|
4581 | bold dim ul blink reverse
|
---|
4582 | ";
|
---|
4583 | return
|
---|
4584 | ;;
|
---|
4585 | help.format)
|
---|
4586 | __gitcomp "man info web html";
|
---|
4587 | return
|
---|
4588 | ;;
|
---|
4589 | log.date)
|
---|
4590 | __gitcomp "$__git_log_date_formats";
|
---|
4591 | return
|
---|
4592 | ;;
|
---|
4593 | sendemail.aliasesfiletype)
|
---|
4594 | __gitcomp "mutt mailrc pine elm gnus";
|
---|
4595 | return
|
---|
4596 | ;;
|
---|
4597 | sendemail.confirm)
|
---|
4598 | __gitcomp "$__git_send_email_confirm_options";
|
---|
4599 | return
|
---|
4600 | ;;
|
---|
4601 | sendemail.suppresscc)
|
---|
4602 | __gitcomp "$__git_send_email_suppresscc_options";
|
---|
4603 | return
|
---|
4604 | ;;
|
---|
4605 | *.*)
|
---|
4606 | COMPREPLY=();
|
---|
4607 | return
|
---|
4608 | ;;
|
---|
4609 | esac;
|
---|
4610 | case "$cur" in
|
---|
4611 | --*)
|
---|
4612 | __gitcomp "
|
---|
4613 | --global --system --file=
|
---|
4614 | --list --replace-all
|
---|
4615 | --get --get-all --get-regexp
|
---|
4616 | --add --unset --unset-all
|
---|
4617 | --remove-section --rename-section
|
---|
4618 | ";
|
---|
4619 | return
|
---|
4620 | ;;
|
---|
4621 | branch.*.*)
|
---|
4622 | local pfx="${cur%.*}.";
|
---|
4623 | cur="${cur##*.}";
|
---|
4624 | __gitcomp "remote merge mergeoptions" "$pfx" "$cur";
|
---|
4625 | return
|
---|
4626 | ;;
|
---|
4627 | branch.*)
|
---|
4628 | local pfx="${cur%.*}.";
|
---|
4629 | cur="${cur#*.}";
|
---|
4630 | __gitcomp "$(__git_heads)" "$pfx" "$cur" ".";
|
---|
4631 | return
|
---|
4632 | ;;
|
---|
4633 | guitool.*.*)
|
---|
4634 | local pfx="${cur%.*}.";
|
---|
4635 | cur="${cur##*.}";
|
---|
4636 | __gitcomp "
|
---|
4637 | argprompt cmd confirm needsfile noconsole norescan
|
---|
4638 | prompt revprompt revunmerged title
|
---|
4639 | " "$pfx" "$cur";
|
---|
4640 | return
|
---|
4641 | ;;
|
---|
4642 | difftool.*.*)
|
---|
4643 | local pfx="${cur%.*}.";
|
---|
4644 | cur="${cur##*.}";
|
---|
4645 | __gitcomp "cmd path" "$pfx" "$cur";
|
---|
4646 | return
|
---|
4647 | ;;
|
---|
4648 | man.*.*)
|
---|
4649 | local pfx="${cur%.*}.";
|
---|
4650 | cur="${cur##*.}";
|
---|
4651 | __gitcomp "cmd path" "$pfx" "$cur";
|
---|
4652 | return
|
---|
4653 | ;;
|
---|
4654 | mergetool.*.*)
|
---|
4655 | local pfx="${cur%.*}.";
|
---|
4656 | cur="${cur##*.}";
|
---|
4657 | __gitcomp "cmd path trustExitCode" "$pfx" "$cur";
|
---|
4658 | return
|
---|
4659 | ;;
|
---|
4660 | pager.*)
|
---|
4661 | local pfx="${cur%.*}.";
|
---|
4662 | cur="${cur#*.}";
|
---|
4663 | __gitcomp "$(__git_all_commands)" "$pfx" "$cur";
|
---|
4664 | return
|
---|
4665 | ;;
|
---|
4666 | remote.*.*)
|
---|
4667 | local pfx="${cur%.*}.";
|
---|
4668 | cur="${cur##*.}";
|
---|
4669 | __gitcomp "
|
---|
4670 | url proxy fetch push mirror skipDefaultUpdate
|
---|
4671 | receivepack uploadpack tagopt
|
---|
4672 | " "$pfx" "$cur";
|
---|
4673 | return
|
---|
4674 | ;;
|
---|
4675 | remote.*)
|
---|
4676 | local pfx="${cur%.*}.";
|
---|
4677 | cur="${cur#*.}";
|
---|
4678 | __gitcomp "$(__git_remotes)" "$pfx" "$cur" ".";
|
---|
4679 | return
|
---|
4680 | ;;
|
---|
4681 | url.*.*)
|
---|
4682 | local pfx="${cur%.*}.";
|
---|
4683 | cur="${cur##*.}";
|
---|
4684 | __gitcomp "insteadof" "$pfx" "$cur";
|
---|
4685 | return
|
---|
4686 | ;;
|
---|
4687 | esac;
|
---|
4688 | __gitcomp "
|
---|
4689 | alias.
|
---|
4690 | apply.whitespace
|
---|
4691 | branch.autosetupmerge
|
---|
4692 | branch.autosetuprebase
|
---|
4693 | clean.requireForce
|
---|
4694 | color.branch
|
---|
4695 | color.branch.current
|
---|
4696 | color.branch.local
|
---|
4697 | color.branch.plain
|
---|
4698 | color.branch.remote
|
---|
4699 | color.diff
|
---|
4700 | color.diff.commit
|
---|
4701 | color.diff.frag
|
---|
4702 | color.diff.meta
|
---|
4703 | color.diff.new
|
---|
4704 | color.diff.old
|
---|
4705 | color.diff.plain
|
---|
4706 | color.diff.whitespace
|
---|
4707 | color.grep
|
---|
4708 | color.grep.external
|
---|
4709 | color.grep.match
|
---|
4710 | color.interactive
|
---|
4711 | color.interactive.header
|
---|
4712 | color.interactive.help
|
---|
4713 | color.interactive.prompt
|
---|
4714 | color.pager
|
---|
4715 | color.status
|
---|
4716 | color.status.added
|
---|
4717 | color.status.changed
|
---|
4718 | color.status.header
|
---|
4719 | color.status.nobranch
|
---|
4720 | color.status.untracked
|
---|
4721 | color.status.updated
|
---|
4722 | color.ui
|
---|
4723 | commit.template
|
---|
4724 | core.autocrlf
|
---|
4725 | core.bare
|
---|
4726 | core.compression
|
---|
4727 | core.createObject
|
---|
4728 | core.deltaBaseCacheLimit
|
---|
4729 | core.editor
|
---|
4730 | core.excludesfile
|
---|
4731 | core.fileMode
|
---|
4732 | core.fsyncobjectfiles
|
---|
4733 | core.gitProxy
|
---|
4734 | core.ignoreCygwinFSTricks
|
---|
4735 | core.ignoreStat
|
---|
4736 | core.logAllRefUpdates
|
---|
4737 | core.loosecompression
|
---|
4738 | core.packedGitLimit
|
---|
4739 | core.packedGitWindowSize
|
---|
4740 | core.pager
|
---|
4741 | core.preferSymlinkRefs
|
---|
4742 | core.preloadindex
|
---|
4743 | core.quotepath
|
---|
4744 | core.repositoryFormatVersion
|
---|
4745 | core.safecrlf
|
---|
4746 | core.sharedRepository
|
---|
4747 | core.symlinks
|
---|
4748 | core.trustctime
|
---|
4749 | core.warnAmbiguousRefs
|
---|
4750 | core.whitespace
|
---|
4751 | core.worktree
|
---|
4752 | diff.autorefreshindex
|
---|
4753 | diff.external
|
---|
4754 | diff.mnemonicprefix
|
---|
4755 | diff.renameLimit
|
---|
4756 | diff.renameLimit.
|
---|
4757 | diff.renames
|
---|
4758 | diff.suppressBlankEmpty
|
---|
4759 | diff.tool
|
---|
4760 | diff.wordRegex
|
---|
4761 | difftool.
|
---|
4762 | difftool.prompt
|
---|
4763 | fetch.unpackLimit
|
---|
4764 | format.attach
|
---|
4765 | format.cc
|
---|
4766 | format.headers
|
---|
4767 | format.numbered
|
---|
4768 | format.pretty
|
---|
4769 | format.signoff
|
---|
4770 | format.subjectprefix
|
---|
4771 | format.suffix
|
---|
4772 | format.thread
|
---|
4773 | gc.aggressiveWindow
|
---|
4774 | gc.auto
|
---|
4775 | gc.autopacklimit
|
---|
4776 | gc.packrefs
|
---|
4777 | gc.pruneexpire
|
---|
4778 | gc.reflogexpire
|
---|
4779 | gc.reflogexpireunreachable
|
---|
4780 | gc.rerereresolved
|
---|
4781 | gc.rerereunresolved
|
---|
4782 | gitcvs.allbinary
|
---|
4783 | gitcvs.commitmsgannotation
|
---|
4784 | gitcvs.dbTableNamePrefix
|
---|
4785 | gitcvs.dbdriver
|
---|
4786 | gitcvs.dbname
|
---|
4787 | gitcvs.dbpass
|
---|
4788 | gitcvs.dbuser
|
---|
4789 | gitcvs.enabled
|
---|
4790 | gitcvs.logfile
|
---|
4791 | gitcvs.usecrlfattr
|
---|
4792 | guitool.
|
---|
4793 | gui.blamehistoryctx
|
---|
4794 | gui.commitmsgwidth
|
---|
4795 | gui.copyblamethreshold
|
---|
4796 | gui.diffcontext
|
---|
4797 | gui.encoding
|
---|
4798 | gui.fastcopyblame
|
---|
4799 | gui.matchtrackingbranch
|
---|
4800 | gui.newbranchtemplate
|
---|
4801 | gui.pruneduringfetch
|
---|
4802 | gui.spellingdictionary
|
---|
4803 | gui.trustmtime
|
---|
4804 | help.autocorrect
|
---|
4805 | help.browser
|
---|
4806 | help.format
|
---|
4807 | http.lowSpeedLimit
|
---|
4808 | http.lowSpeedTime
|
---|
4809 | http.maxRequests
|
---|
4810 | http.noEPSV
|
---|
4811 | http.proxy
|
---|
4812 | http.sslCAInfo
|
---|
4813 | http.sslCAPath
|
---|
4814 | http.sslCert
|
---|
4815 | http.sslKey
|
---|
4816 | http.sslVerify
|
---|
4817 | i18n.commitEncoding
|
---|
4818 | i18n.logOutputEncoding
|
---|
4819 | imap.folder
|
---|
4820 | imap.host
|
---|
4821 | imap.pass
|
---|
4822 | imap.port
|
---|
4823 | imap.preformattedHTML
|
---|
4824 | imap.sslverify
|
---|
4825 | imap.tunnel
|
---|
4826 | imap.user
|
---|
4827 | instaweb.browser
|
---|
4828 | instaweb.httpd
|
---|
4829 | instaweb.local
|
---|
4830 | instaweb.modulepath
|
---|
4831 | instaweb.port
|
---|
4832 | interactive.singlekey
|
---|
4833 | log.date
|
---|
4834 | log.showroot
|
---|
4835 | mailmap.file
|
---|
4836 | man.
|
---|
4837 | man.viewer
|
---|
4838 | merge.conflictstyle
|
---|
4839 | merge.log
|
---|
4840 | merge.renameLimit
|
---|
4841 | merge.stat
|
---|
4842 | merge.tool
|
---|
4843 | merge.verbosity
|
---|
4844 | mergetool.
|
---|
4845 | mergetool.keepBackup
|
---|
4846 | mergetool.prompt
|
---|
4847 | pack.compression
|
---|
4848 | pack.deltaCacheLimit
|
---|
4849 | pack.deltaCacheSize
|
---|
4850 | pack.depth
|
---|
4851 | pack.indexVersion
|
---|
4852 | pack.packSizeLimit
|
---|
4853 | pack.threads
|
---|
4854 | pack.window
|
---|
4855 | pack.windowMemory
|
---|
4856 | pager.
|
---|
4857 | pull.octopus
|
---|
4858 | pull.twohead
|
---|
4859 | push.default
|
---|
4860 | rebase.stat
|
---|
4861 | receive.denyCurrentBranch
|
---|
4862 | receive.denyDeletes
|
---|
4863 | receive.denyNonFastForwards
|
---|
4864 | receive.fsckObjects
|
---|
4865 | receive.unpackLimit
|
---|
4866 | repack.usedeltabaseoffset
|
---|
4867 | rerere.autoupdate
|
---|
4868 | rerere.enabled
|
---|
4869 | sendemail.aliasesfile
|
---|
4870 | sendemail.aliasesfiletype
|
---|
4871 | sendemail.bcc
|
---|
4872 | sendemail.cc
|
---|
4873 | sendemail.cccmd
|
---|
4874 | sendemail.chainreplyto
|
---|
4875 | sendemail.confirm
|
---|
4876 | sendemail.envelopesender
|
---|
4877 | sendemail.multiedit
|
---|
4878 | sendemail.signedoffbycc
|
---|
4879 | sendemail.smtpencryption
|
---|
4880 | sendemail.smtppass
|
---|
4881 | sendemail.smtpserver
|
---|
4882 | sendemail.smtpserverport
|
---|
4883 | sendemail.smtpuser
|
---|
4884 | sendemail.suppresscc
|
---|
4885 | sendemail.suppressfrom
|
---|
4886 | sendemail.thread
|
---|
4887 | sendemail.to
|
---|
4888 | sendemail.validate
|
---|
4889 | showbranch.default
|
---|
4890 | status.relativePaths
|
---|
4891 | status.showUntrackedFiles
|
---|
4892 | tar.umask
|
---|
4893 | transfer.unpackLimit
|
---|
4894 | url.
|
---|
4895 | user.email
|
---|
4896 | user.name
|
---|
4897 | user.signingkey
|
---|
4898 | web.browser
|
---|
4899 | branch. remote.
|
---|
4900 | "
|
---|
4901 | }
|
---|
4902 | _git_describe ()
|
---|
4903 | {
|
---|
4904 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4905 | case "$cur" in
|
---|
4906 | --*)
|
---|
4907 | __gitcomp "
|
---|
4908 | --all --tags --contains --abbrev= --candidates=
|
---|
4909 | --exact-match --debug --long --match --always
|
---|
4910 | ";
|
---|
4911 | return
|
---|
4912 | ;;
|
---|
4913 | esac;
|
---|
4914 | __gitcomp "$(__git_refs)"
|
---|
4915 | }
|
---|
4916 | _git_diff ()
|
---|
4917 | {
|
---|
4918 | __git_has_doubledash && return;
|
---|
4919 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4920 | case "$cur" in
|
---|
4921 | --*)
|
---|
4922 | __gitcomp "--cached --staged --pickaxe-all --pickaxe-regex
|
---|
4923 | --base --ours --theirs
|
---|
4924 | $__git_diff_common_options
|
---|
4925 | ";
|
---|
4926 | return
|
---|
4927 | ;;
|
---|
4928 | esac;
|
---|
4929 | __git_complete_file
|
---|
4930 | }
|
---|
4931 | _git_difftool ()
|
---|
4932 | {
|
---|
4933 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4934 | case "$cur" in
|
---|
4935 | --tool=*)
|
---|
4936 | __gitcomp "$__git_mergetools_common kompare" "" "${cur##--tool=}";
|
---|
4937 | return
|
---|
4938 | ;;
|
---|
4939 | --*)
|
---|
4940 | __gitcomp "--tool=";
|
---|
4941 | return
|
---|
4942 | ;;
|
---|
4943 | esac;
|
---|
4944 | COMPREPLY=()
|
---|
4945 | }
|
---|
4946 | _git_fetch ()
|
---|
4947 | {
|
---|
4948 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4949 | case "$cur" in
|
---|
4950 | --*)
|
---|
4951 | __gitcomp "$__git_fetch_options";
|
---|
4952 | return
|
---|
4953 | ;;
|
---|
4954 | esac;
|
---|
4955 | __git_complete_remote_or_refspec
|
---|
4956 | }
|
---|
4957 | _git_format_patch ()
|
---|
4958 | {
|
---|
4959 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4960 | case "$cur" in
|
---|
4961 | --thread=*)
|
---|
4962 | __gitcomp "
|
---|
4963 | deep shallow
|
---|
4964 | " "" "${cur##--thread=}";
|
---|
4965 | return
|
---|
4966 | ;;
|
---|
4967 | --*)
|
---|
4968 | __gitcomp "
|
---|
4969 | --stdout --attach --no-attach --thread --thread=
|
---|
4970 | --output-directory
|
---|
4971 | --numbered --start-number
|
---|
4972 | --numbered-files
|
---|
4973 | --keep-subject
|
---|
4974 | --signoff
|
---|
4975 | --in-reply-to= --cc=
|
---|
4976 | --full-index --binary
|
---|
4977 | --not --all
|
---|
4978 | --cover-letter
|
---|
4979 | --no-prefix --src-prefix= --dst-prefix=
|
---|
4980 | --inline --suffix= --ignore-if-in-upstream
|
---|
4981 | --subject-prefix=
|
---|
4982 | ";
|
---|
4983 | return
|
---|
4984 | ;;
|
---|
4985 | esac;
|
---|
4986 | __git_complete_revlist
|
---|
4987 | }
|
---|
4988 | _git_fsck ()
|
---|
4989 | {
|
---|
4990 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
4991 | case "$cur" in
|
---|
4992 | --*)
|
---|
4993 | __gitcomp "
|
---|
4994 | --tags --root --unreachable --cache --no-reflogs --full
|
---|
4995 | --strict --verbose --lost-found
|
---|
4996 | ";
|
---|
4997 | return
|
---|
4998 | ;;
|
---|
4999 | esac;
|
---|
5000 | COMPREPLY=()
|
---|
5001 | }
|
---|
5002 | _git_gc ()
|
---|
5003 | {
|
---|
5004 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5005 | case "$cur" in
|
---|
5006 | --*)
|
---|
5007 | __gitcomp "--prune --aggressive";
|
---|
5008 | return
|
---|
5009 | ;;
|
---|
5010 | esac;
|
---|
5011 | COMPREPLY=()
|
---|
5012 | }
|
---|
5013 | _git_grep ()
|
---|
5014 | {
|
---|
5015 | __git_has_doubledash && return;
|
---|
5016 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5017 | case "$cur" in
|
---|
5018 | --*)
|
---|
5019 | __gitcomp "
|
---|
5020 | --cached
|
---|
5021 | --text --ignore-case --word-regexp --invert-match
|
---|
5022 | --full-name
|
---|
5023 | --extended-regexp --basic-regexp --fixed-strings
|
---|
5024 | --files-with-matches --name-only
|
---|
5025 | --files-without-match
|
---|
5026 | --count
|
---|
5027 | --and --or --not --all-match
|
---|
5028 | ";
|
---|
5029 | return
|
---|
5030 | ;;
|
---|
5031 | esac;
|
---|
5032 | COMPREPLY=()
|
---|
5033 | }
|
---|
5034 | _git_help ()
|
---|
5035 | {
|
---|
5036 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5037 | case "$cur" in
|
---|
5038 | --*)
|
---|
5039 | __gitcomp "--all --info --man --web";
|
---|
5040 | return
|
---|
5041 | ;;
|
---|
5042 | esac;
|
---|
5043 | __gitcomp "$(__git_all_commands)
|
---|
5044 | attributes cli core-tutorial cvs-migration
|
---|
5045 | diffcore gitk glossary hooks ignore modules
|
---|
5046 | repository-layout tutorial tutorial-2
|
---|
5047 | workflows
|
---|
5048 | "
|
---|
5049 | }
|
---|
5050 | _git_init ()
|
---|
5051 | {
|
---|
5052 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5053 | case "$cur" in
|
---|
5054 | --shared=*)
|
---|
5055 | __gitcomp "
|
---|
5056 | false true umask group all world everybody
|
---|
5057 | " "" "${cur##--shared=}";
|
---|
5058 | return
|
---|
5059 | ;;
|
---|
5060 | --*)
|
---|
5061 | __gitcomp "--quiet --bare --template= --shared --shared=";
|
---|
5062 | return
|
---|
5063 | ;;
|
---|
5064 | esac;
|
---|
5065 | COMPREPLY=()
|
---|
5066 | }
|
---|
5067 | _git_log ()
|
---|
5068 | {
|
---|
5069 | __git_has_doubledash && return;
|
---|
5070 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5071 | local g="$(git rev-parse --git-dir 2>/dev/null)";
|
---|
5072 | local merge="";
|
---|
5073 | if [ -f "$g/MERGE_HEAD" ]; then
|
---|
5074 | merge="--merge";
|
---|
5075 | fi;
|
---|
5076 | case "$cur" in
|
---|
5077 | --pretty=*)
|
---|
5078 | __gitcomp "$__git_log_pretty_formats
|
---|
5079 | " "" "${cur##--pretty=}";
|
---|
5080 | return
|
---|
5081 | ;;
|
---|
5082 | --format=*)
|
---|
5083 | __gitcomp "$__git_log_pretty_formats
|
---|
5084 | " "" "${cur##--format=}";
|
---|
5085 | return
|
---|
5086 | ;;
|
---|
5087 | --date=*)
|
---|
5088 | __gitcomp "$__git_log_date_formats" "" "${cur##--date=}";
|
---|
5089 | return
|
---|
5090 | ;;
|
---|
5091 | --*)
|
---|
5092 | __gitcomp "
|
---|
5093 | $__git_log_common_options
|
---|
5094 | $__git_log_shortlog_options
|
---|
5095 | $__git_log_gitk_options
|
---|
5096 | --root --topo-order --date-order --reverse
|
---|
5097 | --follow
|
---|
5098 | --abbrev-commit --abbrev=
|
---|
5099 | --relative-date --date=
|
---|
5100 | --pretty= --format= --oneline
|
---|
5101 | --cherry-pick
|
---|
5102 | --graph
|
---|
5103 | --decorate
|
---|
5104 | --walk-reflogs
|
---|
5105 | --parents --children
|
---|
5106 | $merge
|
---|
5107 | $__git_diff_common_options
|
---|
5108 | --pickaxe-all --pickaxe-regex
|
---|
5109 | ";
|
---|
5110 | return
|
---|
5111 | ;;
|
---|
5112 | esac;
|
---|
5113 | __git_complete_revlist
|
---|
5114 | }
|
---|
5115 | _git_ls_files ()
|
---|
5116 | {
|
---|
5117 | __git_has_doubledash && return;
|
---|
5118 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5119 | case "$cur" in
|
---|
5120 | --*)
|
---|
5121 | __gitcomp "--cached --deleted --modified --others --ignored
|
---|
5122 | --stage --directory --no-empty-directory --unmerged
|
---|
5123 | --killed --exclude= --exclude-from=
|
---|
5124 | --exclude-per-directory= --exclude-standard
|
---|
5125 | --error-unmatch --with-tree= --full-name
|
---|
5126 | --abbrev --ignored --exclude-per-directory
|
---|
5127 | ";
|
---|
5128 | return
|
---|
5129 | ;;
|
---|
5130 | esac;
|
---|
5131 | COMPREPLY=()
|
---|
5132 | }
|
---|
5133 | _git_ls_remote ()
|
---|
5134 | {
|
---|
5135 | __gitcomp "$(__git_remotes)"
|
---|
5136 | }
|
---|
5137 | _git_ls_tree ()
|
---|
5138 | {
|
---|
5139 | __git_complete_file
|
---|
5140 | }
|
---|
5141 | _git_merge ()
|
---|
5142 | {
|
---|
5143 | __git_complete_strategy && return;
|
---|
5144 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5145 | case "$cur" in
|
---|
5146 | --*)
|
---|
5147 | __gitcomp "$__git_merge_options";
|
---|
5148 | return
|
---|
5149 | ;;
|
---|
5150 | esac;
|
---|
5151 | __gitcomp "$(__git_refs)"
|
---|
5152 | }
|
---|
5153 | _git_merge_base ()
|
---|
5154 | {
|
---|
5155 | __gitcomp "$(__git_refs)"
|
---|
5156 | }
|
---|
5157 | _git_mergetool ()
|
---|
5158 | {
|
---|
5159 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5160 | case "$cur" in
|
---|
5161 | --tool=*)
|
---|
5162 | __gitcomp "$__git_mergetools_common tortoisemerge" "" "${cur##--tool=}";
|
---|
5163 | return
|
---|
5164 | ;;
|
---|
5165 | --*)
|
---|
5166 | __gitcomp "--tool=";
|
---|
5167 | return
|
---|
5168 | ;;
|
---|
5169 | esac;
|
---|
5170 | COMPREPLY=()
|
---|
5171 | }
|
---|
5172 | _git_mv ()
|
---|
5173 | {
|
---|
5174 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5175 | case "$cur" in
|
---|
5176 | --*)
|
---|
5177 | __gitcomp "--dry-run";
|
---|
5178 | return
|
---|
5179 | ;;
|
---|
5180 | esac;
|
---|
5181 | COMPREPLY=()
|
---|
5182 | }
|
---|
5183 | _git_name_rev ()
|
---|
5184 | {
|
---|
5185 | __gitcomp "--tags --all --stdin"
|
---|
5186 | }
|
---|
5187 | _git_pull ()
|
---|
5188 | {
|
---|
5189 | __git_complete_strategy && return;
|
---|
5190 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5191 | case "$cur" in
|
---|
5192 | --*)
|
---|
5193 | __gitcomp "
|
---|
5194 | --rebase --no-rebase
|
---|
5195 | $__git_merge_options
|
---|
5196 | $__git_fetch_options
|
---|
5197 | ";
|
---|
5198 | return
|
---|
5199 | ;;
|
---|
5200 | esac;
|
---|
5201 | __git_complete_remote_or_refspec
|
---|
5202 | }
|
---|
5203 | _git_push ()
|
---|
5204 | {
|
---|
5205 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5206 | case "${COMP_WORDS[COMP_CWORD-1]}" in
|
---|
5207 | --repo)
|
---|
5208 | __gitcomp "$(__git_remotes)";
|
---|
5209 | return
|
---|
5210 | ;;
|
---|
5211 | esac;
|
---|
5212 | case "$cur" in
|
---|
5213 | --repo=*)
|
---|
5214 | __gitcomp "$(__git_remotes)" "" "${cur##--repo=}";
|
---|
5215 | return
|
---|
5216 | ;;
|
---|
5217 | --*)
|
---|
5218 | __gitcomp "
|
---|
5219 | --all --mirror --tags --dry-run --force --verbose
|
---|
5220 | --receive-pack= --repo=
|
---|
5221 | ";
|
---|
5222 | return
|
---|
5223 | ;;
|
---|
5224 | esac;
|
---|
5225 | __git_complete_remote_or_refspec
|
---|
5226 | }
|
---|
5227 | _git_rebase ()
|
---|
5228 | {
|
---|
5229 | local cur="${COMP_WORDS[COMP_CWORD]}" dir="$(__gitdir)";
|
---|
5230 | if [ -d "$dir"/rebase-apply ] || [ -d "$dir"/rebase-merge ]; then
|
---|
5231 | __gitcomp "--continue --skip --abort";
|
---|
5232 | return;
|
---|
5233 | fi;
|
---|
5234 | __git_complete_strategy && return;
|
---|
5235 | case "$cur" in
|
---|
5236 | --*)
|
---|
5237 | __gitcomp "--onto --merge --strategy --interactive";
|
---|
5238 | return
|
---|
5239 | ;;
|
---|
5240 | esac;
|
---|
5241 | __gitcomp "$(__git_refs)"
|
---|
5242 | }
|
---|
5243 | _git_remote ()
|
---|
5244 | {
|
---|
5245 | local subcommands="add rename rm show prune update set-head";
|
---|
5246 | local subcommand="$(__git_find_subcommand "$subcommands")";
|
---|
5247 | if [ -z "$subcommand" ]; then
|
---|
5248 | __gitcomp "$subcommands";
|
---|
5249 | return;
|
---|
5250 | fi;
|
---|
5251 | case "$subcommand" in
|
---|
5252 | rename | rm | show | prune)
|
---|
5253 | __gitcomp "$(__git_remotes)"
|
---|
5254 | ;;
|
---|
5255 | update)
|
---|
5256 | local i c='' IFS='
|
---|
5257 | ';
|
---|
5258 | for i in $(git --git-dir="$(__gitdir)" config --list);
|
---|
5259 | do
|
---|
5260 | case "$i" in
|
---|
5261 | remotes.*)
|
---|
5262 | i="${i#remotes.}";
|
---|
5263 | c="$c ${i/=*/}"
|
---|
5264 | ;;
|
---|
5265 | esac;
|
---|
5266 | done;
|
---|
5267 | __gitcomp "$c"
|
---|
5268 | ;;
|
---|
5269 | *)
|
---|
5270 | COMPREPLY=()
|
---|
5271 | ;;
|
---|
5272 | esac
|
---|
5273 | }
|
---|
5274 | _git_reset ()
|
---|
5275 | {
|
---|
5276 | __git_has_doubledash && return;
|
---|
5277 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5278 | case "$cur" in
|
---|
5279 | --*)
|
---|
5280 | __gitcomp "--merge --mixed --hard --soft";
|
---|
5281 | return
|
---|
5282 | ;;
|
---|
5283 | esac;
|
---|
5284 | __gitcomp "$(__git_refs)"
|
---|
5285 | }
|
---|
5286 | _git_revert ()
|
---|
5287 | {
|
---|
5288 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5289 | case "$cur" in
|
---|
5290 | --*)
|
---|
5291 | __gitcomp "--edit --mainline --no-edit --no-commit --signoff";
|
---|
5292 | return
|
---|
5293 | ;;
|
---|
5294 | esac;
|
---|
5295 | __gitcomp "$(__git_refs)"
|
---|
5296 | }
|
---|
5297 | _git_rm ()
|
---|
5298 | {
|
---|
5299 | __git_has_doubledash && return;
|
---|
5300 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5301 | case "$cur" in
|
---|
5302 | --*)
|
---|
5303 | __gitcomp "--cached --dry-run --ignore-unmatch --quiet";
|
---|
5304 | return
|
---|
5305 | ;;
|
---|
5306 | esac;
|
---|
5307 | COMPREPLY=()
|
---|
5308 | }
|
---|
5309 | _git_send_email ()
|
---|
5310 | {
|
---|
5311 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5312 | case "$cur" in
|
---|
5313 | --confirm=*)
|
---|
5314 | __gitcomp "
|
---|
5315 | $__git_send_email_confirm_options
|
---|
5316 | " "" "${cur##--confirm=}";
|
---|
5317 | return
|
---|
5318 | ;;
|
---|
5319 | --suppress-cc=*)
|
---|
5320 | __gitcomp "
|
---|
5321 | $__git_send_email_suppresscc_options
|
---|
5322 | " "" "${cur##--suppress-cc=}";
|
---|
5323 | return
|
---|
5324 | ;;
|
---|
5325 | --smtp-encryption=*)
|
---|
5326 | __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}";
|
---|
5327 | return
|
---|
5328 | ;;
|
---|
5329 | --*)
|
---|
5330 | __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
|
---|
5331 | --compose --confirm= --dry-run --envelope-sender
|
---|
5332 | --from --identity
|
---|
5333 | --in-reply-to --no-chain-reply-to --no-signed-off-by-cc
|
---|
5334 | --no-suppress-from --no-thread --quiet
|
---|
5335 | --signed-off-by-cc --smtp-pass --smtp-server
|
---|
5336 | --smtp-server-port --smtp-encryption= --smtp-user
|
---|
5337 | --subject --suppress-cc= --suppress-from --thread --to
|
---|
5338 | --validate --no-validate";
|
---|
5339 | return
|
---|
5340 | ;;
|
---|
5341 | esac;
|
---|
5342 | COMPREPLY=()
|
---|
5343 | }
|
---|
5344 | _git_shortlog ()
|
---|
5345 | {
|
---|
5346 | __git_has_doubledash && return;
|
---|
5347 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5348 | case "$cur" in
|
---|
5349 | --*)
|
---|
5350 | __gitcomp "
|
---|
5351 | $__git_log_common_options
|
---|
5352 | $__git_log_shortlog_options
|
---|
5353 | --numbered --summary
|
---|
5354 | ";
|
---|
5355 | return
|
---|
5356 | ;;
|
---|
5357 | esac;
|
---|
5358 | __git_complete_revlist
|
---|
5359 | }
|
---|
5360 | _git_show ()
|
---|
5361 | {
|
---|
5362 | __git_has_doubledash && return;
|
---|
5363 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5364 | case "$cur" in
|
---|
5365 | --pretty=*)
|
---|
5366 | __gitcomp "$__git_log_pretty_formats
|
---|
5367 | " "" "${cur##--pretty=}";
|
---|
5368 | return
|
---|
5369 | ;;
|
---|
5370 | --format=*)
|
---|
5371 | __gitcomp "$__git_log_pretty_formats
|
---|
5372 | " "" "${cur##--format=}";
|
---|
5373 | return
|
---|
5374 | ;;
|
---|
5375 | --*)
|
---|
5376 | __gitcomp "--pretty= --format= --abbrev-commit --oneline
|
---|
5377 | $__git_diff_common_options
|
---|
5378 | ";
|
---|
5379 | return
|
---|
5380 | ;;
|
---|
5381 | esac;
|
---|
5382 | __git_complete_file
|
---|
5383 | }
|
---|
5384 | _git_show_branch ()
|
---|
5385 | {
|
---|
5386 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5387 | case "$cur" in
|
---|
5388 | --*)
|
---|
5389 | __gitcomp "
|
---|
5390 | --all --remotes --topo-order --current --more=
|
---|
5391 | --list --independent --merge-base --no-name
|
---|
5392 | --sha1-name --sparse --topics --reflog
|
---|
5393 | ";
|
---|
5394 | return
|
---|
5395 | ;;
|
---|
5396 | esac;
|
---|
5397 | __git_complete_revlist
|
---|
5398 | }
|
---|
5399 | _git_stash ()
|
---|
5400 | {
|
---|
5401 | local subcommands='save list show apply clear drop pop create branch';
|
---|
5402 | local subcommand="$(__git_find_subcommand "$subcommands")";
|
---|
5403 | if [ -z "$subcommand" ]; then
|
---|
5404 | __gitcomp "$subcommands";
|
---|
5405 | else
|
---|
5406 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5407 | case "$subcommand,$cur" in
|
---|
5408 | save,--*)
|
---|
5409 | __gitcomp "--keep-index"
|
---|
5410 | ;;
|
---|
5411 | apply,--*)
|
---|
5412 | __gitcomp "--index"
|
---|
5413 | ;;
|
---|
5414 | show,--* | drop,--* | pop,--* | branch,--*)
|
---|
5415 | COMPREPLY=()
|
---|
5416 | ;;
|
---|
5417 | show,* | apply,* | drop,* | pop,* | branch,*)
|
---|
5418 | __gitcomp "$(git --git-dir="$(__gitdir)" stash list | sed -n -e 's/:.*//p')"
|
---|
5419 | ;;
|
---|
5420 | *)
|
---|
5421 | COMPREPLY=()
|
---|
5422 | ;;
|
---|
5423 | esac;
|
---|
5424 | fi
|
---|
5425 | }
|
---|
5426 | _git_submodule ()
|
---|
5427 | {
|
---|
5428 | __git_has_doubledash && return;
|
---|
5429 | local subcommands="add status init update summary foreach sync";
|
---|
5430 | if [ -z "$(__git_find_subcommand "$subcommands")" ]; then
|
---|
5431 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5432 | case "$cur" in
|
---|
5433 | --*)
|
---|
5434 | __gitcomp "--quiet --cached"
|
---|
5435 | ;;
|
---|
5436 | *)
|
---|
5437 | __gitcomp "$subcommands"
|
---|
5438 | ;;
|
---|
5439 | esac;
|
---|
5440 | return;
|
---|
5441 | fi
|
---|
5442 | }
|
---|
5443 | _git_svn ()
|
---|
5444 | {
|
---|
5445 | local subcommands="
|
---|
5446 | init fetch clone rebase dcommit log find-rev
|
---|
5447 | set-tree commit-diff info create-ignore propget
|
---|
5448 | proplist show-ignore show-externals branch tag blame
|
---|
5449 | migrate
|
---|
5450 | ";
|
---|
5451 | local subcommand="$(__git_find_subcommand "$subcommands")";
|
---|
5452 | if [ -z "$subcommand" ]; then
|
---|
5453 | __gitcomp "$subcommands";
|
---|
5454 | else
|
---|
5455 | local remote_opts="--username= --config-dir= --no-auth-cache";
|
---|
5456 | local fc_opts="
|
---|
5457 | --follow-parent --authors-file= --repack=
|
---|
5458 | --no-metadata --use-svm-props --use-svnsync-props
|
---|
5459 | --log-window-size= --no-checkout --quiet
|
---|
5460 | --repack-flags --use-log-author --localtime
|
---|
5461 | --ignore-paths= $remote_opts
|
---|
5462 | ";
|
---|
5463 | local init_opts="
|
---|
5464 | --template= --shared= --trunk= --tags=
|
---|
5465 | --branches= --stdlayout --minimize-url
|
---|
5466 | --no-metadata --use-svm-props --use-svnsync-props
|
---|
5467 | --rewrite-root= --prefix= --use-log-author
|
---|
5468 | --add-author-from $remote_opts
|
---|
5469 | ";
|
---|
5470 | local cmt_opts="
|
---|
5471 | --edit --rmdir --find-copies-harder --copy-similarity=
|
---|
5472 | ";
|
---|
5473 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5474 | case "$subcommand,$cur" in
|
---|
5475 | fetch,--*)
|
---|
5476 | __gitcomp "--revision= --fetch-all $fc_opts"
|
---|
5477 | ;;
|
---|
5478 | clone,--*)
|
---|
5479 | __gitcomp "--revision= $fc_opts $init_opts"
|
---|
5480 | ;;
|
---|
5481 | init,--*)
|
---|
5482 | __gitcomp "$init_opts"
|
---|
5483 | ;;
|
---|
5484 | dcommit,--*)
|
---|
5485 | __gitcomp "
|
---|
5486 | --merge --strategy= --verbose --dry-run
|
---|
5487 | --fetch-all --no-rebase --commit-url
|
---|
5488 | --revision $cmt_opts $fc_opts
|
---|
5489 | "
|
---|
5490 | ;;
|
---|
5491 | set-tree,--*)
|
---|
5492 | __gitcomp "--stdin $cmt_opts $fc_opts"
|
---|
5493 | ;;
|
---|
5494 | create-ignore,--* | propget,--* | proplist,--* | show-ignore,--* | show-externals,--*)
|
---|
5495 | __gitcomp "--revision="
|
---|
5496 | ;;
|
---|
5497 | log,--*)
|
---|
5498 | __gitcomp "
|
---|
5499 | --limit= --revision= --verbose --incremental
|
---|
5500 | --oneline --show-commit --non-recursive
|
---|
5501 | --authors-file= --color
|
---|
5502 | "
|
---|
5503 | ;;
|
---|
5504 | rebase,--*)
|
---|
5505 | __gitcomp "
|
---|
5506 | --merge --verbose --strategy= --local
|
---|
5507 | --fetch-all --dry-run $fc_opts
|
---|
5508 | "
|
---|
5509 | ;;
|
---|
5510 | commit-diff,--*)
|
---|
5511 | __gitcomp "--message= --file= --revision= $cmt_opts"
|
---|
5512 | ;;
|
---|
5513 | info,--*)
|
---|
5514 | __gitcomp "--url"
|
---|
5515 | ;;
|
---|
5516 | branch,--*)
|
---|
5517 | __gitcomp "--dry-run --message --tag"
|
---|
5518 | ;;
|
---|
5519 | tag,--*)
|
---|
5520 | __gitcomp "--dry-run --message"
|
---|
5521 | ;;
|
---|
5522 | blame,--*)
|
---|
5523 | __gitcomp "--git-format"
|
---|
5524 | ;;
|
---|
5525 | migrate,--*)
|
---|
5526 | __gitcomp "
|
---|
5527 | --config-dir= --ignore-paths= --minimize
|
---|
5528 | --no-auth-cache --username=
|
---|
5529 | "
|
---|
5530 | ;;
|
---|
5531 | *)
|
---|
5532 | COMPREPLY=()
|
---|
5533 | ;;
|
---|
5534 | esac;
|
---|
5535 | fi
|
---|
5536 | }
|
---|
5537 | _git_tag ()
|
---|
5538 | {
|
---|
5539 | local i c=1 f=0;
|
---|
5540 | while [ $c -lt $COMP_CWORD ]; do
|
---|
5541 | i="${COMP_WORDS[c]}";
|
---|
5542 | case "$i" in
|
---|
5543 | -d | -v)
|
---|
5544 | __gitcomp "$(__git_tags)";
|
---|
5545 | return
|
---|
5546 | ;;
|
---|
5547 | -f)
|
---|
5548 | f=1
|
---|
5549 | ;;
|
---|
5550 | esac;
|
---|
5551 | c=$((++c));
|
---|
5552 | done;
|
---|
5553 | case "${COMP_WORDS[COMP_CWORD-1]}" in
|
---|
5554 | -m | -F)
|
---|
5555 | COMPREPLY=()
|
---|
5556 | ;;
|
---|
5557 | -* | tag)
|
---|
5558 | if [ $f = 1 ]; then
|
---|
5559 | __gitcomp "$(__git_tags)";
|
---|
5560 | else
|
---|
5561 | COMPREPLY=();
|
---|
5562 | fi
|
---|
5563 | ;;
|
---|
5564 | *)
|
---|
5565 | __gitcomp "$(__git_refs)"
|
---|
5566 | ;;
|
---|
5567 | esac
|
---|
5568 | }
|
---|
5569 | _gitk ()
|
---|
5570 | {
|
---|
5571 | __git_has_doubledash && return;
|
---|
5572 | local cur="${COMP_WORDS[COMP_CWORD]}";
|
---|
5573 | local g="$(__gitdir)";
|
---|
5574 | local merge="";
|
---|
5575 | if [ -f "$g/MERGE_HEAD" ]; then
|
---|
5576 | merge="--merge";
|
---|
5577 | fi;
|
---|
5578 | case "$cur" in
|
---|
5579 | --*)
|
---|
5580 | __gitcomp "
|
---|
5581 | $__git_log_common_options
|
---|
5582 | $__git_log_gitk_options
|
---|
5583 | $merge
|
---|
5584 | ";
|
---|
5585 | return
|
---|
5586 | ;;
|
---|
5587 | esac;
|
---|
5588 | __git_complete_revlist
|
---|
5589 | }
|
---|
5590 | _gkrellm ()
|
---|
5591 | {
|
---|
5592 | local cur;
|
---|
5593 | COMPREPLY=();
|
---|
5594 | cur=`_get_cword`;
|
---|
5595 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5596 | case "$prev" in
|
---|
5597 | -@(t|-theme))
|
---|
5598 | _filedir -d;
|
---|
5599 | return 0
|
---|
5600 | ;;
|
---|
5601 | -@(p|-plugin))
|
---|
5602 | _filedir 'so';
|
---|
5603 | return 0
|
---|
5604 | ;;
|
---|
5605 | -@(s|-server))
|
---|
5606 | _known_hosts;
|
---|
5607 | return 0
|
---|
5608 | ;;
|
---|
5609 | esac;
|
---|
5610 | if [[ "$cur" == -* ]]; then
|
---|
5611 | COMPREPLY=($( compgen -W '--help -t --theme -s --server \
|
---|
5612 | -g --geometry -wm -w --withdrawn -c --config -nc \
|
---|
5613 | -f --force-host-config -demo -p --plugin -P \
|
---|
5614 | --port' -- $cur ));
|
---|
5615 | fi
|
---|
5616 | }
|
---|
5617 | _gnatmake ()
|
---|
5618 | {
|
---|
5619 | local cur;
|
---|
5620 | COMPREPLY=();
|
---|
5621 | cur=`_get_cword`;
|
---|
5622 | if [[ "$cur" == -* ]]; then
|
---|
5623 | COMPREPLY=($( compgen -W '-a -c -f -i -j -k -m -M -n -o \
|
---|
5624 | -q -s -v -z -aL -A -aO -aI -I -I- -L -nostdinc \
|
---|
5625 | -nostdlib -cargs -bargs -largs -fstack-check \
|
---|
5626 | -fno-inline -g -O1 -O0 -O2 -O3 -gnata -gnatA \
|
---|
5627 | -gnatb -gnatc -gnatd -gnatD -gnate -gnatE \
|
---|
5628 | -gnatf -gnatF -gnatg -gnatG -gnath -gnati \
|
---|
5629 | -gnatk -gnatl -gnatL -gnatm -gnatn -gnato \
|
---|
5630 | -gnatO -gnatp -gnatP -gnatq -gnatR -gnats \
|
---|
5631 | -gnatt -gnatT -gnatu -gnatU -gnatv -gnatws \
|
---|
5632 | -gnatwe -gnatwl -gnatwu -gnatW -gnatx -gnatX \
|
---|
5633 | -gnaty -gnatz -gnatZ -gnat83' -- $cur ));
|
---|
5634 | else
|
---|
5635 | _filedir '@(adb|ads)';
|
---|
5636 | fi
|
---|
5637 | }
|
---|
5638 | _gpg ()
|
---|
5639 | {
|
---|
5640 | local cur prev;
|
---|
5641 | COMPREPLY=();
|
---|
5642 | cur=`_get_cword`;
|
---|
5643 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5644 | case "$prev" in
|
---|
5645 | -@(s|-sign|-clearsign|-decrypt-files|-load-extension))
|
---|
5646 | _filedir;
|
---|
5647 | return 0
|
---|
5648 | ;;
|
---|
5649 | --@(export|@(?(l|nr|nrl)sign|edit)-key))
|
---|
5650 | COMPREPLY=($( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^pub.*/\([^ ]*\).*$@\1@p;s@^.*\(<\([^>]*\)>\).*$@\2@p')" -- "$cur" ));
|
---|
5651 | return 0
|
---|
5652 | ;;
|
---|
5653 | -@(r|-recipient))
|
---|
5654 | COMPREPLY=($( compgen -W "$( gpg --list-keys 2>/dev/null | sed -ne 's@^.*<\([^>]*\)>.*$@\1@p')" -- "$cur" ));
|
---|
5655 | if [ -e ~/.gnupg/gpg.conf ]; then
|
---|
5656 | COMPREPLY=("${COMPREPLY[@]}" $( compgen -W "$( sed -ne 's@^[ \t]*group[ \t][ \t]*\([^=]*\).*$@\1@p' ~/.gnupg/gpg.conf )" -- "$cur"));
|
---|
5657 | fi;
|
---|
5658 | return 0
|
---|
5659 | ;;
|
---|
5660 | esac;
|
---|
5661 | if [[ "$cur" == -* ]]; then
|
---|
5662 | COMPREPLY=($( compgen -W '-s -b -e -f -c -d -a -r -u -Z -o -v\
|
---|
5663 | -q -n -N $(gpg --dump-options)' -- $cur ));
|
---|
5664 | fi
|
---|
5665 | }
|
---|
5666 | _gzip ()
|
---|
5667 | {
|
---|
5668 | local cur prev xspec helpopts;
|
---|
5669 | COMPREPLY=();
|
---|
5670 | cur=`_get_cword`;
|
---|
5671 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5672 | helpopts=`_parse_help gzip`;
|
---|
5673 | if [[ "$cur" == -* ]]; then
|
---|
5674 | COMPREPLY=($( compgen -W "$helpopts -2 -3 -4 -5 -6 -7 -8" -- "$cur" ));
|
---|
5675 | return 0;
|
---|
5676 | fi;
|
---|
5677 | local IFS='
|
---|
5678 | ';
|
---|
5679 | xspec="*.?(t)gz";
|
---|
5680 | if [[ "$prev" == --* ]]; then
|
---|
5681 | [[ "$prev" == --decompress || "$prev" == --list || "$prev" == --test ]] && xspec="!"$xspec;
|
---|
5682 | [[ "$prev" == --force ]] && xspec=;
|
---|
5683 | else
|
---|
5684 | if [[ "$prev" == -* ]]; then
|
---|
5685 | [[ "$prev" == -*[dlt]* ]] && xspec="!"$xspec;
|
---|
5686 | [[ "$prev" == -*f* ]] && xspec=;
|
---|
5687 | else
|
---|
5688 | if [ "$prev" = '>' -o "$prev" = '>>' ]; then
|
---|
5689 | xspec=;
|
---|
5690 | else
|
---|
5691 | if [ "$prev" = '<' ]; then
|
---|
5692 | xspec=;
|
---|
5693 | fi;
|
---|
5694 | fi;
|
---|
5695 | fi;
|
---|
5696 | fi;
|
---|
5697 | _expand || return 0;
|
---|
5698 | COMPREPLY=($( compgen -f -X "$xspec" -- $cur ) $( compgen -d -- $cur ))
|
---|
5699 | }
|
---|
5700 | _iconv ()
|
---|
5701 | {
|
---|
5702 | local cur prev;
|
---|
5703 | COMPREPLY=();
|
---|
5704 | cur=`_get_cword`;
|
---|
5705 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5706 | case "$prev" in
|
---|
5707 | -@(f|t|-@(from|to)-code))
|
---|
5708 | COMPREPLY=($( compgen -W '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" ));
|
---|
5709 | return 0
|
---|
5710 | ;;
|
---|
5711 | esac;
|
---|
5712 | if [[ "$cur" = -* ]]; then
|
---|
5713 | COMPREPLY=($( compgen -W '--from-code -f --to-code -t --list
|
---|
5714 | --output -o --verbose' -- "$cur" ));
|
---|
5715 | return 0;
|
---|
5716 | fi
|
---|
5717 | }
|
---|
5718 | _id ()
|
---|
5719 | {
|
---|
5720 | local cur;
|
---|
5721 | COMPREPLY=();
|
---|
5722 | cur=`_get_cword`;
|
---|
5723 | if [[ "$cur" == -* ]]; then
|
---|
5724 | COMPREPLY=($( compgen -W '-a -g --group -G --groups -n --name\
|
---|
5725 | -r --real -u --user --help --version' -- $cur ));
|
---|
5726 | else
|
---|
5727 | COMPREPLY=($( compgen -u $cur ));
|
---|
5728 | fi
|
---|
5729 | }
|
---|
5730 | _ifupdown ()
|
---|
5731 | {
|
---|
5732 | local cur;
|
---|
5733 | COMPREPLY=();
|
---|
5734 | cur=`_get_cword`;
|
---|
5735 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
5736 | _configured_interfaces;
|
---|
5737 | COMPREPLY=($(compgen -W '${COMPREPLY[@]}' -- "$cur"));
|
---|
5738 | fi;
|
---|
5739 | return 0
|
---|
5740 | }
|
---|
5741 | _info ()
|
---|
5742 | {
|
---|
5743 | local cur infopath;
|
---|
5744 | COMPREPLY=();
|
---|
5745 | cur=`_get_cword`;
|
---|
5746 | _expand || return 0;
|
---|
5747 | if [[ "$cur" == */* ]]; then
|
---|
5748 | _filedir;
|
---|
5749 | return 0;
|
---|
5750 | fi;
|
---|
5751 | infopath='/usr/share/info';
|
---|
5752 | if [ "${INFOPATH: -1:1}" == ':' ]; then
|
---|
5753 | infopath=${INFOPATH}${infopath};
|
---|
5754 | else
|
---|
5755 | if [ ${INFOPATH:+set} ]; then
|
---|
5756 | infopath=$INFOPATH;
|
---|
5757 | fi;
|
---|
5758 | fi;
|
---|
5759 | infopath=$infopath:;
|
---|
5760 | if [ -n "$cur" ]; then
|
---|
5761 | infopath="${infopath//://$cur* }";
|
---|
5762 | else
|
---|
5763 | infopath="${infopath//:// }";
|
---|
5764 | fi;
|
---|
5765 | COMPREPLY=($( eval command ls "$infopath" 2>/dev/null ));
|
---|
5766 | COMPREPLY=(${COMPREPLY[@]##*/?(:)});
|
---|
5767 | for ((i=0 ; i < ${#COMPREPLY[@]} ; ++i ))
|
---|
5768 | do
|
---|
5769 | if [ "${COMPREPLY[$i]}" == 'dir' ]; then
|
---|
5770 | unset COMPREPLY[$i];
|
---|
5771 | fi;
|
---|
5772 | done;
|
---|
5773 | COMPREPLY=(${COMPREPLY[@]%.@(gz|bz2|lzma)});
|
---|
5774 | COMPREPLY=($( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ));
|
---|
5775 | return 0
|
---|
5776 | }
|
---|
5777 | _inject ()
|
---|
5778 | {
|
---|
5779 | local cur prev;
|
---|
5780 | COMPREPLY=();
|
---|
5781 | cur=`_get_cword`;
|
---|
5782 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5783 | case "$prev" in
|
---|
5784 | -@(l|-listname=))
|
---|
5785 | _mailman_lists;
|
---|
5786 | return 0
|
---|
5787 | ;;
|
---|
5788 | esac;
|
---|
5789 | if [[ "$cur" == -* ]]; then
|
---|
5790 | COMPREPLY=($( compgen -W '-l --listname= -q --queue= \
|
---|
5791 | -h --help' -- $cur ));
|
---|
5792 | else
|
---|
5793 | _filedir;
|
---|
5794 | fi
|
---|
5795 | }
|
---|
5796 | _insmod ()
|
---|
5797 | {
|
---|
5798 | local cur prev modpath;
|
---|
5799 | COMPREPLY=();
|
---|
5800 | cur=`_get_cword`;
|
---|
5801 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5802 | if [ $1 = "modprobe" ] && [ "${COMP_WORDS[1]}" = "-r" ]; then
|
---|
5803 | _installed_modules "$cur";
|
---|
5804 | return 0;
|
---|
5805 | fi;
|
---|
5806 | if [[ "$cur" == */* ]]; then
|
---|
5807 | _filedir '@(?(k)o?(.gz))';
|
---|
5808 | return 0;
|
---|
5809 | fi;
|
---|
5810 | if [ $COMP_CWORD -gt 1 ] && [[ "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
|
---|
5811 | COMPREPLY=($( /sbin/modinfo -p ${COMP_WORDS[1]} 2>/dev/null | awk '{if ($1 ~ /^parm:/ && $2 ~ /^'$cur'/) { print $2 } \
|
---|
5812 | else if ($1 !~ /:/ && $1 ~ /^'$cur'/) { print $1 }}' ));
|
---|
5813 | else
|
---|
5814 | _modules $(uname -r);
|
---|
5815 | fi;
|
---|
5816 | return 0
|
---|
5817 | }
|
---|
5818 | _insserv ()
|
---|
5819 | {
|
---|
5820 | local cur prev sysvdir services options;
|
---|
5821 | cur=`_get_cword`;
|
---|
5822 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5823 | [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d;
|
---|
5824 | services=($(echo $sysvdir/!(README*|*.dpkg*|*.rpm@(orig|new|save))));
|
---|
5825 | services=(${services[@]#$sysvdir/});
|
---|
5826 | options=(-c --config -d -f -n -o --override -p --path -r -v);
|
---|
5827 | case "$prev" in
|
---|
5828 | -c | --config)
|
---|
5829 | _filedir
|
---|
5830 | ;;
|
---|
5831 | -o | --override | -p | --path)
|
---|
5832 | _filedir -d
|
---|
5833 | ;;
|
---|
5834 | *)
|
---|
5835 | COMPREPLY=($( compgen -W '${options[@]} ${services[@]}' -- $cur ))
|
---|
5836 | ;;
|
---|
5837 | esac;
|
---|
5838 | return 0
|
---|
5839 | }
|
---|
5840 | _installed_modules ()
|
---|
5841 | {
|
---|
5842 | COMPREPLY=($( compgen -W "$( /sbin/lsmod | awk '{if (NR != 1) print $1}' )" -- $1 ))
|
---|
5843 | }
|
---|
5844 | _invoke_rc_d ()
|
---|
5845 | {
|
---|
5846 | local cur prev sysvdir services options valid_options;
|
---|
5847 | cur=`_get_cword`;
|
---|
5848 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5849 | [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d;
|
---|
5850 | services=($(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))));
|
---|
5851 | services=(${services[@]#$sysvdir/});
|
---|
5852 | options=(--help --quiet --force --try-anyway --disclose-deny --query --no-fallback);
|
---|
5853 | if [[ ( $COMP_CWORD -eq 1 ) || ( "$prev" == --* ) ]]; then
|
---|
5854 | valid_options=($( echo ${COMP_WORDS[@]} ${options[@]} | tr " " "\n" | sed -ne "/$( echo ${options[@]} | sed "s/ /\\\\|/g" )/p" | sort | uniq -u ));
|
---|
5855 | COMPREPLY=($( compgen -W '${valid_options[@]} ${services[@]}' -- $cur ));
|
---|
5856 | else
|
---|
5857 | if [ -x $sysvdir/$prev ]; then
|
---|
5858 | COMPREPLY=($( compgen -W '`sed -ne "y/|/ /; \
|
---|
5859 | s/^.*Usage:[ ]*[^ ]*[ ]*{*\([^}\"]*\).*$/\1/p" \
|
---|
5860 | $sysvdir/$prev`' -- $cur ));
|
---|
5861 | else
|
---|
5862 | COMPREPLY=();
|
---|
5863 | fi;
|
---|
5864 | fi;
|
---|
5865 | return 0
|
---|
5866 | }
|
---|
5867 | _iptables ()
|
---|
5868 | {
|
---|
5869 | local cur prev table chain;
|
---|
5870 | COMPREPLY=();
|
---|
5871 | cur=`_get_cword`;
|
---|
5872 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5873 | chain='s/^Chain \([^ ]\+\).*$/\1/p';
|
---|
5874 | if [[ $COMP_LINE == *-t\ *filter* ]]; then
|
---|
5875 | table="-t filter";
|
---|
5876 | else
|
---|
5877 | if [[ $COMP_LINE == *-t\ *nat* ]]; then
|
---|
5878 | table="-t nat";
|
---|
5879 | else
|
---|
5880 | if [[ $COMP_LINE == *-t\ *mangle* ]]; then
|
---|
5881 | table="-t mangle";
|
---|
5882 | fi;
|
---|
5883 | fi;
|
---|
5884 | fi;
|
---|
5885 | case "$prev" in
|
---|
5886 | -*[AIDRPFXLZ])
|
---|
5887 | COMPREPLY=($( compgen -W '`iptables $table -nL | \
|
---|
5888 | sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur ))
|
---|
5889 | ;;
|
---|
5890 | -*t)
|
---|
5891 | COMPREPLY=($( compgen -W 'nat filter mangle' -- $cur ))
|
---|
5892 | ;;
|
---|
5893 | -j)
|
---|
5894 | if [ "$table" = "-t filter" -o "$table" = "" ]; then
|
---|
5895 | COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
|
---|
5896 | `iptables $table -nL | sed -ne "$chain" \
|
---|
5897 | -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- $cur ));
|
---|
5898 | else
|
---|
5899 | if [ "$table" = "-t nat" ]; then
|
---|
5900 | COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
|
---|
5901 | MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
|
---|
5902 | sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' -- $cur ));
|
---|
5903 | else
|
---|
5904 | if [ "$table" = "-t mangle" ]; then
|
---|
5905 | COMPREPLY=($( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
|
---|
5906 | MARK TOS `iptables $table -nL | sed -ne "$chain" \
|
---|
5907 | -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- $cur ));
|
---|
5908 | fi;
|
---|
5909 | fi;
|
---|
5910 | fi
|
---|
5911 | ;;
|
---|
5912 | *)
|
---|
5913 | if [[ "$cur" == -* ]]; then
|
---|
5914 | COMPREPLY=($( compgen -W '-i -o -s -d -p -f -m --append \
|
---|
5915 | --delete --insert --replace --list --flush --zero --new \
|
---|
5916 | --delete-chain --policy --rename-chain --proto --source \
|
---|
5917 | --destination --in-interface --jump --match --numeric \
|
---|
5918 | --out-interface --table --verbose --line-numbers --exact \
|
---|
5919 | --fragment --modprobe= --set-counters --version' -- "$cur"));
|
---|
5920 | fi
|
---|
5921 | ;;
|
---|
5922 | esac
|
---|
5923 | }
|
---|
5924 | _isql ()
|
---|
5925 | {
|
---|
5926 | local cur;
|
---|
5927 | cur=`_get_cword`;
|
---|
5928 | [ -f "$ODBCINI" ] && COMPREPLY=($( grep \\[$cur "$ODBCINI" | tr -d \\[\\] ))
|
---|
5929 | }
|
---|
5930 | _iwconfig ()
|
---|
5931 | {
|
---|
5932 | local cur prev;
|
---|
5933 | COMPREPLY=();
|
---|
5934 | cur=`_get_cword`;
|
---|
5935 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
5936 | case $prev in
|
---|
5937 | mode)
|
---|
5938 | COMPREPLY=($( compgen -W 'managed ad-hoc master \
|
---|
5939 | repeater secondary monitor' -- $cur ));
|
---|
5940 | return 0
|
---|
5941 | ;;
|
---|
5942 | essid)
|
---|
5943 | COMPREPLY=($( compgen -W 'on off any' -- $cur ));
|
---|
5944 | if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
|
---|
5945 | COMPREPLY=("${COMPREPLY[@]}" $( iwlist ${COMP_WORDS[1]} scan | awk -F '"' '/ESSID/ {print $2}' | grep "^$cur" ));
|
---|
5946 | fi;
|
---|
5947 | return 0
|
---|
5948 | ;;
|
---|
5949 | nwid)
|
---|
5950 | COMPREPLY=($( compgen -W 'on off' -- $cur ));
|
---|
5951 | return 0
|
---|
5952 | ;;
|
---|
5953 | channel)
|
---|
5954 | COMPREPLY=($( iwlist ${COMP_WORDS[1]} channel | awk '/^[[:space:]]*Channel/ {print $2}' | grep "^$cur" ));
|
---|
5955 | return 0
|
---|
5956 | ;;
|
---|
5957 | freq)
|
---|
5958 | COMPREPLY=($( iwlist ${COMP_WORDS[1]} channel | awk '/^[[:space:]]*Channel/ {print $4"G"}' | grep "^$cur" ));
|
---|
5959 | return 0
|
---|
5960 | ;;
|
---|
5961 | ap)
|
---|
5962 | COMPREPLY=($( compgen -W 'on off any' -- $cur ));
|
---|
5963 | if [ -n "${COMP_IWLIST_SCAN:-}" ]; then
|
---|
5964 | COMPREPLY=("${COMPREPLY[@]}" $( iwlist ${COMP_WORDS[1]} scan | awk -F ': ' '/Address/ {print $2}' | grep "^$cur" ));
|
---|
5965 | fi;
|
---|
5966 | return 0
|
---|
5967 | ;;
|
---|
5968 | rate)
|
---|
5969 | COMPREPLY=($( compgen -W 'auto fixed' -- $cur ));
|
---|
5970 | COMPREPLY=("${COMPREPLY[@]}" $( iwlist ${COMP_WORDS[1]} rate | awk '/^[[:space:]]*[0-9]/ {print $1"M"}' | grep "^$cur" ));
|
---|
5971 | return 0
|
---|
5972 | ;;
|
---|
5973 | rts)
|
---|
5974 | COMPREPLY=($( compgen -W 'auto fixed off' -- $cur ));
|
---|
5975 | return 0
|
---|
5976 | ;;
|
---|
5977 | frag)
|
---|
5978 | COMPREPLY=($( compgen -W 'auto fixed off' -- $cur ));
|
---|
5979 | return 0
|
---|
5980 | ;;
|
---|
5981 | key)
|
---|
5982 | COMPREPLY=($( compgen -W 'off on open restricted' -- $cur ));
|
---|
5983 | return 0
|
---|
5984 | ;;
|
---|
5985 | enc)
|
---|
5986 | COMPREPLY=($( compgen -W 'off on open restricted' -- $cur ));
|
---|
5987 | return 0
|
---|
5988 | ;;
|
---|
5989 | power)
|
---|
5990 | COMPREPLY=($( compgen -W 'period timeout off on' -- $cur ));
|
---|
5991 | return 0
|
---|
5992 | ;;
|
---|
5993 | txpower)
|
---|
5994 | COMPREPLY=($( compgen -W 'off on auto' -- $cur ));
|
---|
5995 | return 0
|
---|
5996 | ;;
|
---|
5997 | retry)
|
---|
5998 | COMPREPLY=($( compgen -W 'limit lifetime' -- $cur ));
|
---|
5999 | return 0
|
---|
6000 | ;;
|
---|
6001 | esac;
|
---|
6002 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
6003 | if [[ "$cur" == -* ]]; then
|
---|
6004 | COMPREPLY=($( compgen -W '--help --version' -- $cur ));
|
---|
6005 | else
|
---|
6006 | _available_interfaces -w;
|
---|
6007 | fi;
|
---|
6008 | else
|
---|
6009 | COMPREPLY=($( compgen -W 'essid nwid mode freq channel sens mode \
|
---|
6010 | ap nick rate rts frag enc key power txpower commit' -- $cur ));
|
---|
6011 | fi
|
---|
6012 | }
|
---|
6013 | _iwlist ()
|
---|
6014 | {
|
---|
6015 | local cur prev;
|
---|
6016 | COMPREPLY=();
|
---|
6017 | cur=`_get_cword`;
|
---|
6018 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6019 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
6020 | if [[ "$cur" == -* ]]; then
|
---|
6021 | COMPREPLY=($( compgen -W '--help --version' -- $cur ));
|
---|
6022 | else
|
---|
6023 | _available_interfaces -w;
|
---|
6024 | fi;
|
---|
6025 | else
|
---|
6026 | COMPREPLY=($( compgen -W 'scan scanning freq frequency \
|
---|
6027 | channel rate bit bitrate key enc encryption power \
|
---|
6028 | txpower retry ap accesspoint peers event' -- $cur ));
|
---|
6029 | fi
|
---|
6030 | }
|
---|
6031 | _iwpriv ()
|
---|
6032 | {
|
---|
6033 | local cur prev;
|
---|
6034 | COMPREPLY=();
|
---|
6035 | cur=`_get_cword`;
|
---|
6036 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6037 | case "$prev" in
|
---|
6038 | roam)
|
---|
6039 | COMPREPLY=($( compgen -W 'on off' -- $cur ));
|
---|
6040 | return 0
|
---|
6041 | ;;
|
---|
6042 | port)
|
---|
6043 | COMPREPLY=($( compgen -W 'ad-hoc managed' -- $cur ));
|
---|
6044 | return 0
|
---|
6045 | ;;
|
---|
6046 | esac;
|
---|
6047 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
6048 | if [[ "$cur" == -* ]]; then
|
---|
6049 | COMPREPLY=($( compgen -W '--help --version' -- $cur ));
|
---|
6050 | else
|
---|
6051 | _available_interfaces -w;
|
---|
6052 | fi;
|
---|
6053 | else
|
---|
6054 | COMPREPLY=($( compgen -W '--all roam port' -- $cur ));
|
---|
6055 | fi
|
---|
6056 | }
|
---|
6057 | _iwspy ()
|
---|
6058 | {
|
---|
6059 | local cur;
|
---|
6060 | COMPREPLY=();
|
---|
6061 | cur=`_get_cword`;
|
---|
6062 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
6063 | if [[ "$cur" == -* ]]; then
|
---|
6064 | COMPREPLY=($( compgen -W '--help --version' -- $cur ));
|
---|
6065 | else
|
---|
6066 | _available_interfaces -w;
|
---|
6067 | fi;
|
---|
6068 | else
|
---|
6069 | COMPREPLY=($( compgen -W 'setthr getthr off' -- $cur ));
|
---|
6070 | fi
|
---|
6071 | }
|
---|
6072 | _jar ()
|
---|
6073 | {
|
---|
6074 | local cur;
|
---|
6075 | COMPREPLY=();
|
---|
6076 | cur=`_get_cword`;
|
---|
6077 | if [ $COMP_CWORD = 1 ]; then
|
---|
6078 | COMPREPLY=($( compgen -W 'c t x u' -- $cur ));
|
---|
6079 | return 0;
|
---|
6080 | fi;
|
---|
6081 | case "${COMP_WORDS[1]}" in
|
---|
6082 | *c*f)
|
---|
6083 | _filedir
|
---|
6084 | ;;
|
---|
6085 | *f)
|
---|
6086 | _filedir '?([ejw]ar|zip|[EJW]AR|ZIP)'
|
---|
6087 | ;;
|
---|
6088 | *)
|
---|
6089 | _filedir
|
---|
6090 | ;;
|
---|
6091 | esac
|
---|
6092 | }
|
---|
6093 | _java ()
|
---|
6094 | {
|
---|
6095 | local cur prev i;
|
---|
6096 | COMPREPLY=();
|
---|
6097 | cur=`_get_cword`;
|
---|
6098 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6099 | for ((i=1; i < $COMP_CWORD; i++))
|
---|
6100 | do
|
---|
6101 | case ${COMP_WORDS[$i]} in
|
---|
6102 | -cp | -classpath)
|
---|
6103 | ((i++))
|
---|
6104 | ;;
|
---|
6105 | -*)
|
---|
6106 |
|
---|
6107 | ;;
|
---|
6108 | *)
|
---|
6109 | _filedir;
|
---|
6110 | return 0
|
---|
6111 | ;;
|
---|
6112 | esac;
|
---|
6113 | done;
|
---|
6114 | case $prev in
|
---|
6115 | -@(cp|classpath))
|
---|
6116 | _java_path;
|
---|
6117 | return 0
|
---|
6118 | ;;
|
---|
6119 | esac;
|
---|
6120 | if [[ "$cur" == -* ]]; then
|
---|
6121 | COMPREPLY=($( compgen -W '-client -hotspot -server -classic \
|
---|
6122 | -cp -classpath -D -verbose -verbose:class \
|
---|
6123 | -verbose:gc -version:jni -version \
|
---|
6124 | -showversion -? -help -X -jar \
|
---|
6125 | -ea -enableassertions -da -disableassertions \
|
---|
6126 | -esa -enablesystemassertions \
|
---|
6127 | -dsa -disablesystemassertions ' -- $cur ));
|
---|
6128 | else
|
---|
6129 | if [[ "$prev" == -jar ]]; then
|
---|
6130 | _filedir jar;
|
---|
6131 | else
|
---|
6132 | _java_classes;
|
---|
6133 | fi;
|
---|
6134 | fi
|
---|
6135 | }
|
---|
6136 | _java_classes ()
|
---|
6137 | {
|
---|
6138 | local classpath i;
|
---|
6139 | _java_find_classpath;
|
---|
6140 | cur=${cur//.//};
|
---|
6141 | for i in ${classpath//:/ };
|
---|
6142 | do
|
---|
6143 | if [ -r $i ] && [[ "$i" == *.@(jar|zip) ]]; then
|
---|
6144 | if type zipinfo &>/dev/null; then
|
---|
6145 | COMPREPLY=("${COMPREPLY[@]}" $( zipinfo -1 "$i" | grep "^$cur" | grep '\.class$' | grep -v "\\$" ));
|
---|
6146 | else
|
---|
6147 | COMPREPLY=("${COMPREPLY[@]}" $( jar tf "$i" "$cur" | grep "\.class$" | grep -v "\\$" ));
|
---|
6148 | fi;
|
---|
6149 | else
|
---|
6150 | if [ -d $i ]; then
|
---|
6151 | i=${i%/};
|
---|
6152 | COMPREPLY=("${COMPREPLY[@]}" $( find "$i" -type f -maxdepth 1 -path "$i/$cur*.class" 2>/dev/null | grep -v "\\$" | sed -e "s|^$i/||" ));
|
---|
6153 | fi;
|
---|
6154 | fi;
|
---|
6155 | done;
|
---|
6156 | COMPREPLY=(${COMPREPLY[@]%.class});
|
---|
6157 | COMPREPLY=(${COMPREPLY[@]//\//.})
|
---|
6158 | }
|
---|
6159 | _java_find_classpath ()
|
---|
6160 | {
|
---|
6161 | local i;
|
---|
6162 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
6163 | do
|
---|
6164 | if [[ "${COMP_WORDS[i]}" == -@(cp|classpath) ]]; then
|
---|
6165 | classpath=${COMP_WORDS[i+1]};
|
---|
6166 | break;
|
---|
6167 | fi;
|
---|
6168 | done;
|
---|
6169 | [ -z "$classpath" ] && classpath=$CLASSPATH;
|
---|
6170 | [ -z "$classpath" ] && classpath=.
|
---|
6171 | }
|
---|
6172 | _java_find_sourcepath ()
|
---|
6173 | {
|
---|
6174 | local i;
|
---|
6175 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
6176 | do
|
---|
6177 | if [[ "${COMP_WORDS[i]}" == -sourcepath ]]; then
|
---|
6178 | sourcepath=${COMP_WORDS[i+1]};
|
---|
6179 | break;
|
---|
6180 | fi;
|
---|
6181 | done;
|
---|
6182 | if [ -z "$sourcepath" ]; then
|
---|
6183 | _java_find_classpath;
|
---|
6184 | sourcepath=$classpath;
|
---|
6185 | fi
|
---|
6186 | }
|
---|
6187 | _java_packages ()
|
---|
6188 | {
|
---|
6189 | local sourcepath i;
|
---|
6190 | _java_find_sourcepath;
|
---|
6191 | cur=${cur//.//};
|
---|
6192 | for i in ${sourcepath//:/ };
|
---|
6193 | do
|
---|
6194 | if [ -d $i ]; then
|
---|
6195 | COMPREPLY=("${COMPREPLY[@]}" $( command ls -F -d $i/$cur* 2>/dev/null | sed -e 's|^'$i'/||' ));
|
---|
6196 | fi;
|
---|
6197 | done;
|
---|
6198 | COMPREPLY=($( echo "${COMPREPLY[@]}" | tr " " "\n" | grep "/$" ));
|
---|
6199 | COMPREPLY=(${COMPREPLY[@]%/});
|
---|
6200 | cur=${COMPREPLY[@]//\//.}
|
---|
6201 | }
|
---|
6202 | _java_path ()
|
---|
6203 | {
|
---|
6204 | cur=${cur##*:};
|
---|
6205 | _filedir '@(jar|zip)'
|
---|
6206 | }
|
---|
6207 | _javac ()
|
---|
6208 | {
|
---|
6209 | COMPREPLY=();
|
---|
6210 | local cur prev;
|
---|
6211 | cur=`_get_cword`;
|
---|
6212 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6213 | case $prev in
|
---|
6214 | -d)
|
---|
6215 | _filedir -d;
|
---|
6216 | return 0
|
---|
6217 | ;;
|
---|
6218 | -@(classpath|bootclasspath|sourcepath|extdirs))
|
---|
6219 | _java_path;
|
---|
6220 | return 0
|
---|
6221 | ;;
|
---|
6222 | esac;
|
---|
6223 | if [[ "$cur" == -* ]]; then
|
---|
6224 | COMPREPLY=($( compgen -W '-g -g:none -g:lines -g:vars\
|
---|
6225 | -g:source -O -nowarn -verbose -deprecation -classpath\
|
---|
6226 | -sourcepath -bootclasspath -extdirs -d -encoding -source\
|
---|
6227 | -target -help' -- $cur ));
|
---|
6228 | else
|
---|
6229 | _filedir java;
|
---|
6230 | fi
|
---|
6231 | }
|
---|
6232 | _javadoc ()
|
---|
6233 | {
|
---|
6234 | COMPREPLY=();
|
---|
6235 | local cur prev;
|
---|
6236 | cur=`_get_cword`;
|
---|
6237 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6238 | case $prev in
|
---|
6239 | -@(overview|helpfile|stylesheetfile))
|
---|
6240 | _filedir;
|
---|
6241 | return 0
|
---|
6242 | ;;
|
---|
6243 | -d)
|
---|
6244 | _filedir -d;
|
---|
6245 | return 0
|
---|
6246 | ;;
|
---|
6247 | -@(classpath|bootclasspath|docletpath|sourcepath|extdirs))
|
---|
6248 | _java_path;
|
---|
6249 | return 0
|
---|
6250 | ;;
|
---|
6251 | esac;
|
---|
6252 | if [[ "$cur" == -* ]]; then
|
---|
6253 | COMPREPLY=($( compgen -W '-overview -public -protected \
|
---|
6254 | -package -private -help -doclet -docletpath \
|
---|
6255 | -sourcepath -classpath -exclude -subpackages \
|
---|
6256 | -breakiterator -bootclasspath -source -extdirs \
|
---|
6257 | -verbose -locale -encoding -J -d -use -version \
|
---|
6258 | -author -docfilessubdirs -splitindex \
|
---|
6259 | -windowtitle -doctitle -header -footer -bottom \
|
---|
6260 | -link -linkoffline -excludedocfilessubdir \
|
---|
6261 | -group -nocomment -nodeprecated -noqualifier \
|
---|
6262 | -nosince -nodeprecatedlist -notree -noindex \
|
---|
6263 | -nohelp -nonavbar -quiet -serialwarn -tag \
|
---|
6264 | -taglet -tagletpath -charset -helpfile \
|
---|
6265 | -linksource -stylesheetfile -docencoding' -- $cur ));
|
---|
6266 | else
|
---|
6267 | _filedir java;
|
---|
6268 | _java_packages;
|
---|
6269 | fi
|
---|
6270 | }
|
---|
6271 | _kernel_versions ()
|
---|
6272 | {
|
---|
6273 | COMPREPLY=($( command ls /lib/modules | grep "^$cur" ))
|
---|
6274 | }
|
---|
6275 | _kill ()
|
---|
6276 | {
|
---|
6277 | local cur;
|
---|
6278 | COMPREPLY=();
|
---|
6279 | cur=`_get_cword`;
|
---|
6280 | if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
|
---|
6281 | _signals;
|
---|
6282 | else
|
---|
6283 | _pids;
|
---|
6284 | fi
|
---|
6285 | }
|
---|
6286 | _killall ()
|
---|
6287 | {
|
---|
6288 | local cur;
|
---|
6289 | COMPREPLY=();
|
---|
6290 | cur=`_get_cword`;
|
---|
6291 | if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
|
---|
6292 | _signals;
|
---|
6293 | else
|
---|
6294 | _pnames;
|
---|
6295 | fi;
|
---|
6296 | return 0
|
---|
6297 | }
|
---|
6298 | _known_hosts ()
|
---|
6299 | {
|
---|
6300 | local configfile;
|
---|
6301 | local cur curd ocur user suffix aliases global_kh user_kh hosts i host;
|
---|
6302 | local -a kh khd config;
|
---|
6303 | COMPREPLY=();
|
---|
6304 | cur=`_get_cword`;
|
---|
6305 | ocur=$cur;
|
---|
6306 | local OPTIND=1;
|
---|
6307 | while getopts "acF:" flag "$@"; do
|
---|
6308 | case $flag in
|
---|
6309 | a)
|
---|
6310 | aliases='yes'
|
---|
6311 | ;;
|
---|
6312 | c)
|
---|
6313 | suffix=':'
|
---|
6314 | ;;
|
---|
6315 | F)
|
---|
6316 | configfile="$OPTARG"
|
---|
6317 | ;;
|
---|
6318 | esac;
|
---|
6319 | done;
|
---|
6320 | [[ $cur == *@* ]] && user=${cur%@*}@ && cur=${cur#*@};
|
---|
6321 | kh=();
|
---|
6322 | if [ -n "$configfile" ]; then
|
---|
6323 | [ -r "$configfile" ] && config=("${config[@]}" "$configfile");
|
---|
6324 | else
|
---|
6325 | [ -r /etc/ssh/ssh_config ] && config=("${config[@]}" "/etc/ssh/ssh_config");
|
---|
6326 | [ -r "${HOME}/.ssh/config" ] && config=("${config[@]}" "${HOME}/.ssh/config");
|
---|
6327 | [ -r "${HOME}/.ssh2/config" ] && config=("${config[@]}" "${HOME}/.ssh2/config");
|
---|
6328 | fi;
|
---|
6329 | if [ ${#config[@]} -gt 0 ]; then
|
---|
6330 | global_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Gg][Ll][Oo][Bb][Aa][Ll][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" );
|
---|
6331 | user_kh=$( eval echo "$( sed -ne 's/^[ \t]*[Uu][Ss][Ee][Rr][Kk][Nn][Oo][Ww][Nn][Hh][Oo][Ss][Tt][Ss][Ff][Ii][Ll][Ee]['"$'\t '"']*\(.*\)$/\1/p' "${config[@]}" )" );
|
---|
6332 | fi;
|
---|
6333 | [ -r "$global_kh" ] && kh=("${kh[@]}" "$global_kh");
|
---|
6334 | if [ -z "$configfile" ]; then
|
---|
6335 | [ -r /etc/ssh/ssh_known_hosts ] && kh=("${kh[@]}" /etc/ssh/ssh_known_hosts);
|
---|
6336 | [ -r /etc/ssh/ssh_known_hosts2 ] && kh=("${kh[@]}" /etc/ssh/ssh_known_hosts2);
|
---|
6337 | [ -r /etc/known_hosts ] && kh=("${kh[@]}" /etc/known_hosts);
|
---|
6338 | [ -r /etc/known_hosts2 ] && kh=("${kh[@]}" /etc/known_hosts2);
|
---|
6339 | [ -d /etc/ssh2/knownhosts ] && khd=("${khd[@]}" /etc/ssh2/knownhosts/*pub);
|
---|
6340 | fi;
|
---|
6341 | [ -r "$user_kh" ] && kh=("${kh[@]}" "$user_kh");
|
---|
6342 | if [ -z "$configfile" ]; then
|
---|
6343 | [ -r ~/.ssh/known_hosts ] && kh=("${kh[@]}" ~/.ssh/known_hosts);
|
---|
6344 | [ -r ~/.ssh/known_hosts2 ] && kh=("${kh[@]}" ~/.ssh/known_hosts2);
|
---|
6345 | [ -d ~/.ssh2/hostkeys ] && khd=("${khd[@]}" ~/.ssh2/hostkeys/*pub);
|
---|
6346 | fi;
|
---|
6347 | if [ ${#kh[@]} -gt 0 -o ${#khd[@]} -gt 0 -o -n "$configfile" ]; then
|
---|
6348 | cur=${cur//\//\\\/};
|
---|
6349 | cur=${cur//\./\\\.};
|
---|
6350 | curd=$cur;
|
---|
6351 | if [[ "$cur" == [0-9]*.* ]]; then
|
---|
6352 | cur="^$cur.*";
|
---|
6353 | else
|
---|
6354 | if [[ "$cur" == [0-9]* ]]; then
|
---|
6355 | cur="^$cur.*\.";
|
---|
6356 | else
|
---|
6357 | if [ -z "$cur" ]; then
|
---|
6358 | cur="[a-z.]";
|
---|
6359 | else
|
---|
6360 | cur="^$cur";
|
---|
6361 | fi;
|
---|
6362 | fi;
|
---|
6363 | fi;
|
---|
6364 | if [ ${#kh[@]} -gt 0 ]; then
|
---|
6365 | COMPREPLY=($( awk 'BEGIN {FS=","}
|
---|
6366 | /^\s*[^|\#]/ {for (i=1; i<=2; ++i) { \
|
---|
6367 | gsub(" .*$", "", $i); \
|
---|
6368 | if ($i ~ /'$cur'/) {print $i} \
|
---|
6369 | }}' "${kh[@]}" 2>/dev/null ));
|
---|
6370 | fi;
|
---|
6371 | if [ ${#khd[@]} -gt 0 ]; then
|
---|
6372 | for i in "${khd[@]}";
|
---|
6373 | do
|
---|
6374 | if [[ "$i" == *key_22_$curd*.pub ]] && [ -r "$i" ]; then
|
---|
6375 | host=${i/#*key_22_/};
|
---|
6376 | host=${host/%.pub/};
|
---|
6377 | COMPREPLY=("${COMPREPLY[@]}" $host);
|
---|
6378 | fi;
|
---|
6379 | done;
|
---|
6380 | fi;
|
---|
6381 | if [ ${#config[@]} -gt 0 ] && [ -n "$aliases" ]; then
|
---|
6382 | local host_aliases=$( sed -ne 's/^[ \t]*[Hh][Oo][Ss][Tt]\([Nn][Aa][Mm][Ee]\)\?['"$'\t '"']\+\([^#*?]*\)\(#.*\)\?$/\2/p' "${config[@]}" );
|
---|
6383 | hosts=$( compgen -W "$host_aliases" -- $ocur );
|
---|
6384 | COMPREPLY=("${COMPREPLY[@]}" $hosts);
|
---|
6385 | fi;
|
---|
6386 | COMPREPLY=("${COMPREPLY[@]}" $( compgen -A hostname -- $ocur ));
|
---|
6387 | for ((i=0; i < ${#COMPREPLY[@]}; i++ ))
|
---|
6388 | do
|
---|
6389 | COMPREPLY[i]=$user${COMPREPLY[i]}$suffix;
|
---|
6390 | done;
|
---|
6391 | else
|
---|
6392 | if [ -z "$configfile" ]; then
|
---|
6393 | COMPREPLY=($( compgen -A hostname -S "$suffix" -- $cur ));
|
---|
6394 | fi;
|
---|
6395 | fi;
|
---|
6396 | return 0
|
---|
6397 | }
|
---|
6398 | _larch ()
|
---|
6399 | {
|
---|
6400 | local cur prev;
|
---|
6401 | COMPREPLY=();
|
---|
6402 | cur=`_get_cword`;
|
---|
6403 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6404 | if [ $COMP_CWORD -eq 1 ] || [[ "$prev" == -* ]]; then
|
---|
6405 | COMPREPLY=($( compgen -W ' \
|
---|
6406 | my-id my-default-archive register-archive whereis-archive archives \
|
---|
6407 | init-tree tree-root tree-version set-tree-version inventory tagging-method \
|
---|
6408 | tree-lint missing-tags add delete move explicit-default set-manifest \
|
---|
6409 | manifest check-manifest mkpatch dopatch patch-report empty-patch \
|
---|
6410 | make-archive make-category make-branch make-version categories \
|
---|
6411 | branches versions revisions cat-archive-log archive-cache-revision \
|
---|
6412 | archive-cached-revisions archive-uncache-revision category-readme \
|
---|
6413 | branch-readme version-readme make-log logs add-log log-ls cat-log \
|
---|
6414 | log-header-field changelog log-for-merge merge-points new-on-branch \
|
---|
6415 | import commit get get-patch lock-branch lock-revision push-mirror \
|
---|
6416 | build-config update-config replay-config record-config show-config \
|
---|
6417 | config-history update replay delta-patch star-merge tag prepare-branch \
|
---|
6418 | finish-branch join-branch whats-missing what-changed file-diffs pristines \
|
---|
6419 | lock-pristine my-revision-library library-find library-add library-remove \
|
---|
6420 | library-archives library-categories library-branches library-versions \
|
---|
6421 | library-revisions library-log library-file touched-files-prereqs \
|
---|
6422 | patch-set-web update-distributions distribution-name notify my-notifier \
|
---|
6423 | mail-new-categories mail-new-branches mail-new-versions mail-new-revisions \
|
---|
6424 | notify-library notify-browser push-new-revisions sendmail-mailx' $cur ));
|
---|
6425 | fi;
|
---|
6426 | return 0
|
---|
6427 | }
|
---|
6428 | _lisp ()
|
---|
6429 | {
|
---|
6430 | local cur;
|
---|
6431 | COMPREPLY=();
|
---|
6432 | cur=`_get_cword`;
|
---|
6433 | if [[ "$cur" == -* ]]; then
|
---|
6434 | COMPREPLY=($( compgen -W '-core -lib -batch -quit -edit -eval -init \
|
---|
6435 | -dynamic-space-size -hinit -noinit -nositeinit -load \
|
---|
6436 | -slave ' -- $cur ));
|
---|
6437 | else
|
---|
6438 | _filedir;
|
---|
6439 | fi;
|
---|
6440 | return 0
|
---|
6441 | }
|
---|
6442 | _list_admins ()
|
---|
6443 | {
|
---|
6444 | local cur;
|
---|
6445 | COMPREPLY=();
|
---|
6446 | cur=`_get_cword`;
|
---|
6447 | if [[ "$cur" == -* ]]; then
|
---|
6448 | COMPREPLY=($( compgen -W '--all-vhost= -v \
|
---|
6449 | --all -a -h --help' -- $cur ));
|
---|
6450 | else
|
---|
6451 | _mailman_lists;
|
---|
6452 | fi
|
---|
6453 | }
|
---|
6454 | _list_lists ()
|
---|
6455 | {
|
---|
6456 | local cur;
|
---|
6457 | COMPREPLY=();
|
---|
6458 | cur=`_get_cword`;
|
---|
6459 | if [[ "$cur" == -* ]]; then
|
---|
6460 | COMPREPLY=($( compgen -W '-a --advertised \
|
---|
6461 | --virtual-host-overview= -V -b --bare \
|
---|
6462 | -h --help' -- $cur ));
|
---|
6463 | fi
|
---|
6464 | }
|
---|
6465 | _list_members ()
|
---|
6466 | {
|
---|
6467 | local cur prev;
|
---|
6468 | COMPREPLY=();
|
---|
6469 | cur=`_get_cword`;
|
---|
6470 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6471 | case "$prev" in
|
---|
6472 | -@(o|-output))
|
---|
6473 | _filedir;
|
---|
6474 | return 0
|
---|
6475 | ;;
|
---|
6476 | -@(d|-digest=))
|
---|
6477 | COMPREPLY=($( compgen -W 'mime plain' -- $cur));
|
---|
6478 | return 0
|
---|
6479 | ;;
|
---|
6480 | -@(n|-nomail=))
|
---|
6481 | COMPREPLY=($( compgen -W 'byadmin byuser bybounce unknown' -- $cur));
|
---|
6482 | return 0
|
---|
6483 | ;;
|
---|
6484 | esac;
|
---|
6485 | if [[ "$cur" == -* ]]; then
|
---|
6486 | COMPREPLY=($( compgen -W '--output -o --regular -r \
|
---|
6487 | --digest= -d --nomail= -n --fullnames -f \
|
---|
6488 | --preserve -p -h --help' -- $cur ));
|
---|
6489 | else
|
---|
6490 | _mailman_lists;
|
---|
6491 | fi
|
---|
6492 | }
|
---|
6493 | _list_owners ()
|
---|
6494 | {
|
---|
6495 | local cur;
|
---|
6496 | COMPREPLY=();
|
---|
6497 | cur=`_get_cword`;
|
---|
6498 | if [[ "$cur" == -* ]]; then
|
---|
6499 | COMPREPLY=($( compgen -W '-w --with-listnames \
|
---|
6500 | -m --moderators -h --help' -- $cur ));
|
---|
6501 | else
|
---|
6502 | _mailman_lists;
|
---|
6503 | fi
|
---|
6504 | }
|
---|
6505 | _longopt ()
|
---|
6506 | {
|
---|
6507 | local cur opt;
|
---|
6508 | cur=`_get_cword`;
|
---|
6509 | if [[ "$cur" == --*=* ]]; then
|
---|
6510 | opt=${cur%%=*};
|
---|
6511 | opt=${opt%\\*};
|
---|
6512 | cur=${cur#*=};
|
---|
6513 | _filedir;
|
---|
6514 | COMPREPLY=($( compgen -P "$opt=" -W '${COMPREPLY[@]}' -- $cur));
|
---|
6515 | return 0;
|
---|
6516 | fi;
|
---|
6517 | if [[ "$cur" == -* ]]; then
|
---|
6518 | COMPREPLY=($( $1 --help 2>&1 | sed -e '/--/!d' -e 's/.*\(--[-A-Za-z0-9]\+=\?\).*/\1/' | command grep "^$cur" | sort -u ));
|
---|
6519 | else
|
---|
6520 | if [[ "$1" == rmdir ]]; then
|
---|
6521 | _filedir -d;
|
---|
6522 | else
|
---|
6523 | _filedir;
|
---|
6524 | fi;
|
---|
6525 | fi
|
---|
6526 | }
|
---|
6527 | _look ()
|
---|
6528 | {
|
---|
6529 | local cur;
|
---|
6530 | COMPREPLY=();
|
---|
6531 | cur=`_get_cword`;
|
---|
6532 | if [ $COMP_CWORD = 1 ]; then
|
---|
6533 | COMPREPLY=($( compgen -W '$(look $cur 2>/dev/null)' ));
|
---|
6534 | fi
|
---|
6535 | }
|
---|
6536 | _lzma ()
|
---|
6537 | {
|
---|
6538 | local cur prev xspec;
|
---|
6539 | COMPREPLY=();
|
---|
6540 | cur=`_get_cword`;
|
---|
6541 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6542 | if [[ "$cur" == -* ]]; then
|
---|
6543 | COMPREPLY=($( compgen -W '-c -d -f -h -k -L -q -s \
|
---|
6544 | -v -V -z -1 -2 -3 -4 -5 -6 -7 -8 -9 \
|
---|
6545 | --help --decompress --compress --keep --force \
|
---|
6546 | --test --stdout --quiet --verbose --license \
|
---|
6547 | --version --small --fast --best --text' -- $cur ));
|
---|
6548 | return 0;
|
---|
6549 | fi;
|
---|
6550 | local IFS='
|
---|
6551 | ';
|
---|
6552 | xspec="*.lzma";
|
---|
6553 | if [[ "$prev" == --* ]]; then
|
---|
6554 | [[ "$prev" == --decompress || "$prev" == --list || "$prev" == --test ]] && xspec="!"$xspec;
|
---|
6555 | [[ "$prev" == --compress ]] && xspec=;
|
---|
6556 | else
|
---|
6557 | if [[ "$prev" == -* ]]; then
|
---|
6558 | [[ "$prev" == -*[dt]* ]] && xspec="!"$xspec;
|
---|
6559 | [[ "$prev" == -*z* ]] && xspec=;
|
---|
6560 | fi;
|
---|
6561 | fi;
|
---|
6562 | _expand || return 0;
|
---|
6563 | COMPREPLY=($( compgen -f -X "$xspec" -- $cur ) $( compgen -d -- $cur ))
|
---|
6564 | }
|
---|
6565 | _macof ()
|
---|
6566 | {
|
---|
6567 | local cur;
|
---|
6568 | COMPREPLY=();
|
---|
6569 | cur=`_get_cword`;
|
---|
6570 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6571 | case "$prev" in
|
---|
6572 | -i)
|
---|
6573 | _interfaces;
|
---|
6574 | return 0
|
---|
6575 | ;;
|
---|
6576 | esac;
|
---|
6577 | if [[ "$cur" == -* ]]; then
|
---|
6578 | COMPREPLY=($( compgen -W '-i -s -d -e -x -y -n' -- $cur ));
|
---|
6579 | fi
|
---|
6580 | }
|
---|
6581 | _mailman_lists ()
|
---|
6582 | {
|
---|
6583 | COMPREPLY=($( list_lists -b | grep "^$cur"))
|
---|
6584 | }
|
---|
6585 | _mailmanctl ()
|
---|
6586 | {
|
---|
6587 | local cur;
|
---|
6588 | COMPREPLY=();
|
---|
6589 | cur=`_get_cword`;
|
---|
6590 | if [[ "$cur" == -* ]]; then
|
---|
6591 | COMPREPLY=($( compgen -W '-n --no-restart -u --run-as-user \
|
---|
6592 | -s --stale-lock-cleanup --quiet -q -h --help' -- $cur ));
|
---|
6593 | else
|
---|
6594 | COMPREPLY=($( compgen -W 'start stop restart reopen' -- $cur ));
|
---|
6595 | fi
|
---|
6596 | }
|
---|
6597 | _make ()
|
---|
6598 | {
|
---|
6599 | local file makef makef_dir="." makef_inc cur prev i;
|
---|
6600 | COMPREPLY=();
|
---|
6601 | cur=`_get_cword`;
|
---|
6602 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6603 | case $prev in
|
---|
6604 | -@(f|o|W))
|
---|
6605 | _filedir;
|
---|
6606 | return 0
|
---|
6607 | ;;
|
---|
6608 | -@(I|C))
|
---|
6609 | _filedir -d;
|
---|
6610 | return 0
|
---|
6611 | ;;
|
---|
6612 | esac;
|
---|
6613 | if [[ "$cur" == *=* ]]; then
|
---|
6614 | prev=${cur/=*/};
|
---|
6615 | cur=${cur/*=/};
|
---|
6616 | case "$prev" in
|
---|
6617 | --@(file|makefile))
|
---|
6618 | _filedir;
|
---|
6619 | return 0
|
---|
6620 | ;;
|
---|
6621 | --@(directory|include-dir))
|
---|
6622 | _filedir -d;
|
---|
6623 | return 0
|
---|
6624 | ;;
|
---|
6625 | esac;
|
---|
6626 | fi;
|
---|
6627 | if [[ "$cur" == -* ]]; then
|
---|
6628 | COMPREPLY=($( compgen -W '-b -m -B -C -d -e -f -h -i -I\
|
---|
6629 | -j -l -k -n -o -p -q -r -R - s -S -t -v -w -W \
|
---|
6630 | --always-make --directory= --debug \
|
---|
6631 | --environment-overrides --file= --makefile= --help \
|
---|
6632 | --ignore-errors --include-dir= --jobs --load-average \
|
---|
6633 | --max-load --keep-going --just-print --dry-run \
|
---|
6634 | --recon --old-file= --assume-old= --print-data-base \
|
---|
6635 | --question --no-builtin-rules --no-builtin-variables \
|
---|
6636 | --silent --quiet --no-keep-goind --stop --touch \
|
---|
6637 | --version --print-directory --no-print-directory \
|
---|
6638 | --what-if= --new-file= --assume-new= \
|
---|
6639 | --warn-undefined-variables' -- $cur ));
|
---|
6640 | else
|
---|
6641 | for ((i=0; i < ${#COMP_WORDS[@]}; i++ ))
|
---|
6642 | do
|
---|
6643 | if [[ ${COMP_WORDS[i]} == -C ]]; then
|
---|
6644 | eval makef_dir=${COMP_WORDS[i+1]};
|
---|
6645 | break;
|
---|
6646 | fi;
|
---|
6647 | done;
|
---|
6648 | for ((i=0; i < ${#COMP_WORDS[@]}; i++ ))
|
---|
6649 | do
|
---|
6650 | if [[ ${COMP_WORDS[i]} == -f ]]; then
|
---|
6651 | eval makef=${COMP_WORDS[i+1]};
|
---|
6652 | break;
|
---|
6653 | fi;
|
---|
6654 | done;
|
---|
6655 | [ -n "$makef" ] && makef="-f ${makef}";
|
---|
6656 | [ -n "$makef_dir" ] && makef_dir="-C ${makef_dir}";
|
---|
6657 | COMPREPLY=($( make -qp $makef $makef_dir 2>/dev/null | awk -F':' '/^[a-zA-Z0-9][^$#\/\t=]*:([^=]|$)/ \
|
---|
6658 | {split($1,A,/ /);for(i in A)print A[i]}' | command grep "^$cur" ));
|
---|
6659 | fi
|
---|
6660 | }
|
---|
6661 | _man ()
|
---|
6662 | {
|
---|
6663 | local cur prev sect manpath manext mansect uname;
|
---|
6664 | manext="@([0-9lnp]|[0-9][px]|man)?(.@(gz|bz2|lzma))";
|
---|
6665 | mansect="@([0-9lnp]|[0-9][px])";
|
---|
6666 | COMPREPLY=();
|
---|
6667 | cur=`_get_cword`;
|
---|
6668 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6669 | if [[ "$prev" == -l ]]; then
|
---|
6670 | _filedir $manext;
|
---|
6671 | return 0;
|
---|
6672 | fi;
|
---|
6673 | _expand || return 0;
|
---|
6674 | if [[ "$cur" == */* ]]; then
|
---|
6675 | _filedir $manext;
|
---|
6676 | return 0;
|
---|
6677 | fi;
|
---|
6678 | uname=$( uname -s );
|
---|
6679 | if [[ $uname == @(Linux|GNU|GNU/*|FreeBSD|Cygwin|CYGWIN_*) ]]; then
|
---|
6680 | manpath=$( manpath 2>/dev/null || command man --path );
|
---|
6681 | else
|
---|
6682 | manpath=$MANPATH;
|
---|
6683 | fi;
|
---|
6684 | if [ -z "$manpath" ]; then
|
---|
6685 | COMPREPLY=($( compgen -c -- $cur ));
|
---|
6686 | return 0;
|
---|
6687 | fi;
|
---|
6688 | [[ "$prev" == $mansect ]] && sect=$prev || sect='*';
|
---|
6689 | manpath=$manpath:;
|
---|
6690 | if [ -n "$cur" ]; then
|
---|
6691 | manpath="${manpath//://*man$sect/$cur* } ${manpath//://*cat$sect/$cur* }";
|
---|
6692 | else
|
---|
6693 | manpath="${manpath//://*man$sect/ } ${manpath//://*cat$sect/ }";
|
---|
6694 | fi;
|
---|
6695 | COMPREPLY=($( eval command ls "$manpath" 2>/dev/null ));
|
---|
6696 | COMPREPLY=(${COMPREPLY[@]##*/?(:)});
|
---|
6697 | COMPREPLY=(${COMPREPLY[@]%.@(gz|bz2|lzma)});
|
---|
6698 | COMPREPLY=($( compgen -W '${COMPREPLY[@]%.*}' -- "${cur//\\\\/}" ));
|
---|
6699 | if [[ "$prev" != $mansect ]]; then
|
---|
6700 | local start=${#COMPREPLY[@]};
|
---|
6701 | _filedir $manext;
|
---|
6702 | for ((i=$start; i < ${#COMPREPLY[@]}; i++ ))
|
---|
6703 | do
|
---|
6704 | [[ ${COMPREPLY[i]} == */* ]] || COMPREPLY[i]=./${COMPREPLY[i]};
|
---|
6705 | done;
|
---|
6706 | fi;
|
---|
6707 | return 0
|
---|
6708 | }
|
---|
6709 | _mc ()
|
---|
6710 | {
|
---|
6711 | local cur prev;
|
---|
6712 | COMPREPLY=();
|
---|
6713 | cur=`_get_cword`;
|
---|
6714 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6715 | case "$prev" in
|
---|
6716 | -@(e|v|l|P))
|
---|
6717 | _filedir;
|
---|
6718 | return 0
|
---|
6719 | ;;
|
---|
6720 | esac;
|
---|
6721 | if [[ "$cur" == *=* ]]; then
|
---|
6722 | prev=${cur/=*/};
|
---|
6723 | cur=${cur/*=/};
|
---|
6724 | case "$prev" in
|
---|
6725 | --@(edit|view|ftplog|printwd))
|
---|
6726 | _filedir;
|
---|
6727 | return 0
|
---|
6728 | ;;
|
---|
6729 | esac;
|
---|
6730 | fi;
|
---|
6731 | if [[ "$cur" == -* ]]; then
|
---|
6732 | COMPREPLY=($( compgen -W '-a --stickchars -b --nocolor -c \
|
---|
6733 | --color -C --colors= -d --nomouse -e --edit= -f \
|
---|
6734 | --datadir -k --resetsoft -l --ftplog= -P --printwd= \
|
---|
6735 | -s --slow -t --termcap -u --nosubshell -U --subshell \
|
---|
6736 | -v --view= -V --version -x --xterm -h --help' -- $cur ));
|
---|
6737 | else
|
---|
6738 | _filedir -d;
|
---|
6739 | fi
|
---|
6740 | }
|
---|
6741 | _mcrypt ()
|
---|
6742 | {
|
---|
6743 | local cur prev i decrypt;
|
---|
6744 | COMPREPLY=();
|
---|
6745 | cur=`_get_cword`;
|
---|
6746 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6747 | case "$prev" in
|
---|
6748 | -@(g|-openpgp-z))
|
---|
6749 | COMPREPLY=($( compgen -W '0 1 2 3 4 5 6 7 8 9' -- $cur ));
|
---|
6750 | return 0
|
---|
6751 | ;;
|
---|
6752 | -@(o|-keymode))
|
---|
6753 | COMPREPLY=($( mcrypt --list-keymodes 2> /dev/null |
|
---|
6754 | grep "^$cur" ));
|
---|
6755 | return 0
|
---|
6756 | ;;
|
---|
6757 | -@(m|-mode))
|
---|
6758 | COMPREPLY=($( mcrypt --list 2> /dev/null |
|
---|
6759 | sed -e 's/.*: //' -e 's/ $//' | sort |
|
---|
6760 | uniq | tr " " "\n" | grep "^$cur" ));
|
---|
6761 | return 0
|
---|
6762 | ;;
|
---|
6763 | -@(a|-algorithm))
|
---|
6764 | COMPREPLY=($( mcrypt --list 2> /dev/null |
|
---|
6765 | awk '{print $1}' | grep "^$cur" ));
|
---|
6766 | return 0
|
---|
6767 | ;;
|
---|
6768 | -@(h|-hash))
|
---|
6769 | COMPREPLY=($( mcrypt --list-hash 2> /dev/null |
|
---|
6770 | sed 1d | grep "^$cur" ));
|
---|
6771 | return 0
|
---|
6772 | ;;
|
---|
6773 | -@(k|s|-@(key?(size))))
|
---|
6774 | return 0
|
---|
6775 | ;;
|
---|
6776 | -@(f|c|-@(keyfile|config)))
|
---|
6777 | _filedir;
|
---|
6778 | return 0
|
---|
6779 | ;;
|
---|
6780 | --@(algorithm|mode)s-directory)
|
---|
6781 | _filedir -d;
|
---|
6782 | return 0
|
---|
6783 | ;;
|
---|
6784 | esac;
|
---|
6785 | if [[ "$cur" == -* ]]; then
|
---|
6786 | COMPREPLY=($( compgen -W '-g --openpgp --openpgp-z -d \
|
---|
6787 | --decrypt -s --keysize -o --keymode -f --keyfile \
|
---|
6788 | -c --config -a --algorithm --algorithms-directory \
|
---|
6789 | -m --mode --modes-directory -h --hash -k --key \
|
---|
6790 | --noiv -b --bare -z --gzip -p --bzip2 --flush -l \
|
---|
6791 | --doublecheck -u --unlink --nodelete -t --time -F \
|
---|
6792 | --force --echo -r --random --list --list-keymodes \
|
---|
6793 | --list-hash -V --verbose -q --quiet --help -v \
|
---|
6794 | --version -L --license' -- $cur ));
|
---|
6795 | else
|
---|
6796 | if [[ ${COMP_WORDS[0]} == mdecrypt ]]; then
|
---|
6797 | _filedir '@(nc)';
|
---|
6798 | else
|
---|
6799 | decrypt=0;
|
---|
6800 | for ((i=1; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
6801 | do
|
---|
6802 | if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then
|
---|
6803 | _filedir '@(nc)';
|
---|
6804 | decrypt=1;
|
---|
6805 | break;
|
---|
6806 | fi;
|
---|
6807 | done;
|
---|
6808 | if [[ $decrypt -eq 0 ]]; then
|
---|
6809 | _filedir;
|
---|
6810 | fi;
|
---|
6811 | fi;
|
---|
6812 | fi
|
---|
6813 | }
|
---|
6814 | _mii_tool ()
|
---|
6815 | {
|
---|
6816 | local cur prev;
|
---|
6817 | COMPREPLY=();
|
---|
6818 | cur=`_get_cword`;
|
---|
6819 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6820 | case $prev in
|
---|
6821 | -F)
|
---|
6822 | COMPREPLY=($( compgen -W '100baseTx-FD 100baseTx-HD \
|
---|
6823 | 10baseT-FD 10baseT-HD' -- $cur ));
|
---|
6824 | return 0
|
---|
6825 | ;;
|
---|
6826 | -A)
|
---|
6827 | COMPREPLY=($( compgen -W '100baseT4 100baseTx-FD 100baseTx-HD \
|
---|
6828 | 10baseT-FD 10baseT-HD' -- $cur ));
|
---|
6829 | return 0
|
---|
6830 | ;;
|
---|
6831 | esac;
|
---|
6832 | if [[ "$cur" == *=* ]]; then
|
---|
6833 | prev=${cur/=*/};
|
---|
6834 | cur=${cur/*=/};
|
---|
6835 | case "$prev" in
|
---|
6836 | --force)
|
---|
6837 | COMPREPLY=($( compgen -W '100baseTx-FD \
|
---|
6838 | 100baseTx-HD 10baseT-FD \
|
---|
6839 | 10baseT-HD' -- $cur ));
|
---|
6840 | return 0
|
---|
6841 | ;;
|
---|
6842 | --advertise)
|
---|
6843 | COMPREPLY=($( compgen -W '100baseT4 \
|
---|
6844 | 100baseTx-FD 100baseTx-HD 10baseT-FD \
|
---|
6845 | 10baseT-HD' -- $cur ));
|
---|
6846 | return 0
|
---|
6847 | ;;
|
---|
6848 | esac;
|
---|
6849 | fi;
|
---|
6850 | if [[ "$cur" == -* ]]; then
|
---|
6851 | COMPREPLY=($( compgen -W '-v --verbose -V --version -R \
|
---|
6852 | --reset -r --restart -w --watch -l --log -A \
|
---|
6853 | --advertise= -F --force=' -- $cur ));
|
---|
6854 | else
|
---|
6855 | _available_interfaces -a;
|
---|
6856 | fi
|
---|
6857 | }
|
---|
6858 | _mmsitepass ()
|
---|
6859 | {
|
---|
6860 | local cur;
|
---|
6861 | COMPREPLY=();
|
---|
6862 | cur=`_get_cword`;
|
---|
6863 | if [[ "$cur" == -* ]]; then
|
---|
6864 | COMPREPLY=($( compgen -W '-c --listcreator -h --help' -- $cur ));
|
---|
6865 | fi
|
---|
6866 | }
|
---|
6867 | _modules ()
|
---|
6868 | {
|
---|
6869 | local modpath;
|
---|
6870 | modpath=/lib/modules/$1;
|
---|
6871 | COMPREPLY=($( command ls -R $modpath | sed -ne 's/^\('$cur'.*\)\.k\?o\(\|.gz\)$/\1/p'))
|
---|
6872 | }
|
---|
6873 | _mount ()
|
---|
6874 | {
|
---|
6875 | local cur i sm host;
|
---|
6876 | COMPREPLY=();
|
---|
6877 | cur=`_get_cword`;
|
---|
6878 | [[ "$cur" == \\ ]] && cur="/";
|
---|
6879 | for i in {,/usr}/{,s}bin/showmount;
|
---|
6880 | do
|
---|
6881 | [ -x $i ] && sm=$i && break;
|
---|
6882 | done;
|
---|
6883 | if [ -n "$sm" ] && [[ "$cur" == *:* ]]; then
|
---|
6884 | COMPREPLY=($( $sm -e ${cur%%:*} | sed 1d | grep ^${cur#*:} | awk '{print $1}' ));
|
---|
6885 | else
|
---|
6886 | if [[ "$cur" == //* ]]; then
|
---|
6887 | host=${cur#//};
|
---|
6888 | host=${host%%/*};
|
---|
6889 | if [ -n "$host" ]; then
|
---|
6890 | COMPREPLY=($( compgen -W "$( echo $( smbclient -d 0 -NL $host 2>/dev/null|
|
---|
6891 | sed -ne '/^['"$'\t '"']*Sharename/,/^$/p' |
|
---|
6892 | sed -ne '3,$s|^[^A-Za-z]*\([^'"$'\t '"']*\).*$|//'$host'/\1|p' ) )" -- "$cur" ));
|
---|
6893 | fi;
|
---|
6894 | else
|
---|
6895 | if [ -r /etc/vfstab ]; then
|
---|
6896 | COMPREPLY=($( awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' /etc/vfstab | grep "^$cur" ));
|
---|
6897 | else
|
---|
6898 | if [ ! -e /etc/fstab ]; then
|
---|
6899 | COMPREPLY=($( mount | awk '! /^[ \t]*#/ {if ($3 ~ /\//) print $3}' | grep "^$cur" ));
|
---|
6900 | else
|
---|
6901 | COMPREPLY=($( awk '! /^[ \t]*#/ {if ($2 ~ /\//) print $2}' /etc/fstab | grep "^$cur" ));
|
---|
6902 | fi;
|
---|
6903 | fi;
|
---|
6904 | fi;
|
---|
6905 | fi;
|
---|
6906 | return 0
|
---|
6907 | }
|
---|
6908 | _newlist ()
|
---|
6909 | {
|
---|
6910 | local cur;
|
---|
6911 | COMPREPLY=();
|
---|
6912 | cur=`_get_cword`;
|
---|
6913 | if [[ "$cur" == -* ]]; then
|
---|
6914 | COMPREPLY=($( compgen -W '-l --language -q --quiet -h --help' -- $cur ));
|
---|
6915 | else
|
---|
6916 | _mailman_lists;
|
---|
6917 | fi
|
---|
6918 | }
|
---|
6919 | _nslookup ()
|
---|
6920 | {
|
---|
6921 | local cur;
|
---|
6922 | COMPREPLY=();
|
---|
6923 | cur=${COMP_WORDS[COMP_CWORD]#-};
|
---|
6924 | COMPREPLY=($( compgen -P '-' -W 'all class= debug d2 domain= \
|
---|
6925 | srchlist= defname search port= querytype= \
|
---|
6926 | type= recurse retry root timeout vc \
|
---|
6927 | ignoretc' -- $cur ))
|
---|
6928 | }
|
---|
6929 | _ntpdate ()
|
---|
6930 | {
|
---|
6931 | local cur prev;
|
---|
6932 | COMPREPLY=();
|
---|
6933 | cur=`_get_cword`;
|
---|
6934 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6935 | case $prev in
|
---|
6936 | -k)
|
---|
6937 | _filedir;
|
---|
6938 | return 0
|
---|
6939 | ;;
|
---|
6940 | -U)
|
---|
6941 | COMPREPLY=($( compgen -u $cur ));
|
---|
6942 | return 0
|
---|
6943 | ;;
|
---|
6944 | esac;
|
---|
6945 | if [[ "$cur" == -* ]]; then
|
---|
6946 | COMPREPLY=($( compgen -W '-4 -6 -b -B -d -Q -q -s -u -v -a\
|
---|
6947 | -e -k -p -o -r -t' -- $cur ));
|
---|
6948 | else
|
---|
6949 | _known_hosts;
|
---|
6950 | fi
|
---|
6951 | }
|
---|
6952 | _openssl ()
|
---|
6953 | {
|
---|
6954 | local cur prev;
|
---|
6955 | COMPREPLY=();
|
---|
6956 | cur=`_get_cword`;
|
---|
6957 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
6958 | COMPREPLY=($( compgen -W 'asn1parse ca ciphers crl crl2pkcs7 \
|
---|
6959 | dgst dh dhparam dsa dsaparam enc errstr gendh gendsa \
|
---|
6960 | genrsa nseq passwd pkcs12 pkcs7 pkcs8 rand req rsa \
|
---|
6961 | rsautl s_client s_server s_time sess_id smime speed \
|
---|
6962 | spkac verify version x509 md2 md4 md5 mdc2 rmd160 sha \
|
---|
6963 | sha1 base64 bf bf-cbc bf-cfb bf-ecb bf-ofb cast \
|
---|
6964 | cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb des \
|
---|
6965 | des-cbc des-cfb des-ecb des-ede des-ede-cbc \
|
---|
6966 | des-ede-cfb des-ede-ofb des-ede3 des-ede3-cbc \
|
---|
6967 | des-ede3-cfb des-ede3-ofb des-ofb des3 desx rc2 \
|
---|
6968 | rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb \
|
---|
6969 | rc4 rc4-40' -- $cur ));
|
---|
6970 | else
|
---|
6971 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
6972 | case ${COMP_WORDS[1]} in
|
---|
6973 | asn1parse)
|
---|
6974 | case $prev in
|
---|
6975 | -inform)
|
---|
6976 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
6977 | return 0
|
---|
6978 | ;;
|
---|
6979 | -@(in|out|oid))
|
---|
6980 | _filedir;
|
---|
6981 | return 0
|
---|
6982 | ;;
|
---|
6983 | esac;
|
---|
6984 | if [[ "$cur" == -* ]]; then
|
---|
6985 | COMPREPLY=($( compgen -W '-inform -in -out -noout -offset \
|
---|
6986 | -length -i -oid -strparse' -- $cur ));
|
---|
6987 | fi
|
---|
6988 | ;;
|
---|
6989 | ca)
|
---|
6990 | case $prev in
|
---|
6991 | -@(config|revoke|cert|in|out|spkac|ss_cert))
|
---|
6992 | _filedir;
|
---|
6993 | return 0
|
---|
6994 | ;;
|
---|
6995 | -outdir)
|
---|
6996 | _filedir -d;
|
---|
6997 | return 0
|
---|
6998 | ;;
|
---|
6999 | -@(name|crlexts|extensions))
|
---|
7000 | _openssl_sections;
|
---|
7001 | return 0
|
---|
7002 | ;;
|
---|
7003 | esac;
|
---|
7004 | if [[ "$cur" == -* ]]; then
|
---|
7005 | COMPREPLY=($( compgen -W '-verbose -config -name \
|
---|
7006 | -gencrl -revoke -crldays -crlhours -crlexts \
|
---|
7007 | -startdate -enddate -days -md -policy -keyfile \
|
---|
7008 | -key -passin -cert -in -out -notext -outdir \
|
---|
7009 | -infiles -spkac -ss_cert -preserveDN -batch \
|
---|
7010 | -msie_hack -extensions' -- $cur ));
|
---|
7011 | fi
|
---|
7012 | ;;
|
---|
7013 | ciphers)
|
---|
7014 | if [[ "$cur" == -* ]]; then
|
---|
7015 | COMPREPLY=($( compgen -W '-v -ssl2 -ssl3 -tls1' -- $cur ));
|
---|
7016 | fi
|
---|
7017 | ;;
|
---|
7018 | crl)
|
---|
7019 | case $prev in
|
---|
7020 | -@(in|out)form)
|
---|
7021 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7022 | return 0
|
---|
7023 | ;;
|
---|
7024 | -@(in|out|CAfile))
|
---|
7025 | _filedir;
|
---|
7026 | return 0
|
---|
7027 | ;;
|
---|
7028 | -CAPath)
|
---|
7029 | _filedir -d;
|
---|
7030 | return 0
|
---|
7031 | ;;
|
---|
7032 | esac;
|
---|
7033 | if [[ "$cur" == -* ]]; then
|
---|
7034 | COMPREPLY=($( compgen -W '-inform -outform -text -in -out -noout \
|
---|
7035 | -hash -issuer -lastupdate -nextupdate -CAfile -CApath' -- $cur ));
|
---|
7036 | fi
|
---|
7037 | ;;
|
---|
7038 | crl2pkcs7)
|
---|
7039 | case $prev in
|
---|
7040 | -@(in|out)form)
|
---|
7041 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7042 | return 0
|
---|
7043 | ;;
|
---|
7044 | -@(in|out))
|
---|
7045 | _filedir;
|
---|
7046 | return 0
|
---|
7047 | ;;
|
---|
7048 | esac;
|
---|
7049 | if [[ "$cur" == -* ]]; then
|
---|
7050 | COMPREPLY=($( compgen -W '-inform -outform -in -out -print_certs' -- $cur ));
|
---|
7051 | fi
|
---|
7052 | ;;
|
---|
7053 | dgst)
|
---|
7054 | case $prev in
|
---|
7055 | -@(out|sign|verify|prvrify|signature))
|
---|
7056 | _filedir;
|
---|
7057 | return 0
|
---|
7058 | ;;
|
---|
7059 | esac;
|
---|
7060 | if [[ "$cur" == -* ]]; then
|
---|
7061 | COMPREPLY=($( compgen -W '-md5 -md4 -md2 -sha1 -sha -mdc2 -ripemd160 -dss1 \
|
---|
7062 | -c -d -hex -binary -out -sign -verify -prverify -signature' -- $cur ));
|
---|
7063 | else
|
---|
7064 | _filedir;
|
---|
7065 | fi
|
---|
7066 | ;;
|
---|
7067 | dsa)
|
---|
7068 | case $prev in
|
---|
7069 | -@(in|out)form)
|
---|
7070 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7071 | return 0
|
---|
7072 | ;;
|
---|
7073 | -@(in|out))
|
---|
7074 | _filedir;
|
---|
7075 | return 0
|
---|
7076 | ;;
|
---|
7077 | esac;
|
---|
7078 | if [[ "$cur" == -* ]]; then
|
---|
7079 | COMPREPLY=($( compgen -W '-inform -outform -in -passin -out -passout -des -des3 -idea -text -noout \
|
---|
7080 | -modulus -pubin -pubout' -- $cur ));
|
---|
7081 | fi
|
---|
7082 | ;;
|
---|
7083 | dsaparam)
|
---|
7084 | case $prev in
|
---|
7085 | -@(in|out)form)
|
---|
7086 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7087 | return 0
|
---|
7088 | ;;
|
---|
7089 | -@(in|out|rand))
|
---|
7090 | _filedir;
|
---|
7091 | return 0
|
---|
7092 | ;;
|
---|
7093 | esac;
|
---|
7094 | if [[ "$cur" == -* ]]; then
|
---|
7095 | COMPREPLY=($( compgen -W '-inform -outform -in -out -noout \
|
---|
7096 | -text -C -rand -genkey' -- $cur ));
|
---|
7097 | fi
|
---|
7098 | ;;
|
---|
7099 | enc)
|
---|
7100 | case $prev in
|
---|
7101 | -@(in|out|kfile))
|
---|
7102 | _filedir;
|
---|
7103 | return 0
|
---|
7104 | ;;
|
---|
7105 | esac;
|
---|
7106 | if [[ "$cur" == -* ]]; then
|
---|
7107 | COMPREPLY=($( compgen -W '-ciphername -in -out -pass \
|
---|
7108 | -e -d -a -A -k -kfile -S -K -iv -p -P -bufsize -debug' -- $cur ));
|
---|
7109 | fi
|
---|
7110 | ;;
|
---|
7111 | dhparam)
|
---|
7112 | case $prev in
|
---|
7113 | -@(in|out)form)
|
---|
7114 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7115 | return 0
|
---|
7116 | ;;
|
---|
7117 | -@(in|out|rand))
|
---|
7118 | _filedir;
|
---|
7119 | return 0
|
---|
7120 | ;;
|
---|
7121 | esac;
|
---|
7122 | if [[ "$cur" == -* ]]; then
|
---|
7123 | COMPREPLY=($( compgen -W '-inform -outform -in -out -dsaparam -noout \
|
---|
7124 | -text -C -2 -5 -rand' -- $cur ));
|
---|
7125 | fi
|
---|
7126 | ;;
|
---|
7127 | gendsa)
|
---|
7128 | case $prev in
|
---|
7129 | -@(out|rand))
|
---|
7130 | _filedir;
|
---|
7131 | return 0
|
---|
7132 | ;;
|
---|
7133 | esac;
|
---|
7134 | if [[ "$cur" == -* ]]; then
|
---|
7135 | COMPREPLY=($( compgen -W '-out -des -des3 -idea -rand' -- $cur ));
|
---|
7136 | else
|
---|
7137 | _filedir;
|
---|
7138 | fi
|
---|
7139 | ;;
|
---|
7140 | genrsa)
|
---|
7141 | case $prev in
|
---|
7142 | -@(out|rand))
|
---|
7143 | _filedir;
|
---|
7144 | return 0
|
---|
7145 | ;;
|
---|
7146 | esac;
|
---|
7147 | if [[ "$cur" == -* ]]; then
|
---|
7148 | COMPREPLY=($( compgen -W '-out -passout -des -des3 -idea -f4 -3 -rand' -- $cur ));
|
---|
7149 | fi
|
---|
7150 | ;;
|
---|
7151 | pkcs7)
|
---|
7152 | case $prev in
|
---|
7153 | -@(in|out)form)
|
---|
7154 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7155 | return 0
|
---|
7156 | ;;
|
---|
7157 | -@(in|out))
|
---|
7158 | _filedir;
|
---|
7159 | return 0
|
---|
7160 | ;;
|
---|
7161 | esac;
|
---|
7162 | if [[ "$cur" == -* ]]; then
|
---|
7163 | COMPREPLY=($( compgen -W '-inform -outform -in -out -print_certs -text -noout' -- $cur ));
|
---|
7164 | fi
|
---|
7165 | ;;
|
---|
7166 | rand)
|
---|
7167 | case $prev in
|
---|
7168 | -@(out|rand))
|
---|
7169 | _filedir;
|
---|
7170 | return 0
|
---|
7171 | ;;
|
---|
7172 | esac;
|
---|
7173 | if [[ "$cur" == -* ]]; then
|
---|
7174 | COMPREPLY=($( compgen -W '-out -rand -base64' -- $cur ));
|
---|
7175 | fi
|
---|
7176 | ;;
|
---|
7177 | req)
|
---|
7178 | case "$prev" in
|
---|
7179 | -@(in|out|key)form)
|
---|
7180 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7181 | return 0
|
---|
7182 | ;;
|
---|
7183 | -@(in|out|rand|key|keyout|config))
|
---|
7184 | _filedir;
|
---|
7185 | return 0
|
---|
7186 | ;;
|
---|
7187 | -extensions)
|
---|
7188 | _openssl_sections;
|
---|
7189 | return 0
|
---|
7190 | ;;
|
---|
7191 | esac;
|
---|
7192 | if [[ "$cur" == -* ]]; then
|
---|
7193 | COMPREPLY=($( compgen -W '-inform -outform -in \
|
---|
7194 | -passin -out -passout -text -noout -verify \
|
---|
7195 | -modulus -new -rand -newkey -newkey -nodes \
|
---|
7196 | -key -keyform -keyout -md5 -sha1 -md2 -mdc2 \
|
---|
7197 | -config -x509 -days -asn1-kludge -newhdr \
|
---|
7198 | -extensions -reqexts section' -- $cur ));
|
---|
7199 | fi
|
---|
7200 | ;;
|
---|
7201 | rsa)
|
---|
7202 | case $prev in
|
---|
7203 | -@(in|out)form)
|
---|
7204 | COMPREPLY=($( compgen -W 'DER NET PEM' -- $cur ));
|
---|
7205 | return 0
|
---|
7206 | ;;
|
---|
7207 | -@(in|out))
|
---|
7208 | _filedir;
|
---|
7209 | return 0
|
---|
7210 | ;;
|
---|
7211 | esac;
|
---|
7212 | if [[ "$cur" == -* ]]; then
|
---|
7213 | COMPREPLY=($( compgen -W '-inform -outform -in -passin -out -passout \
|
---|
7214 | -sgckey -des -des3 -idea -text -noout -modulus -check -pubin \
|
---|
7215 | -pubout -engine' -- $cur ));
|
---|
7216 | fi
|
---|
7217 | ;;
|
---|
7218 | rsautl)
|
---|
7219 | case $prev in
|
---|
7220 | -@(in|out|inkey))
|
---|
7221 | _filedir;
|
---|
7222 | return 0
|
---|
7223 | ;;
|
---|
7224 | esac;
|
---|
7225 | if [[ "$cur" == -* ]]; then
|
---|
7226 | COMPREPLY=($( compgen -W '-in -out -inkey -pubin -certin -sign -verify \
|
---|
7227 | -encrypt -decrypt -pkcs -ssl -raw -hexdump -asn1parse' -- $cur ));
|
---|
7228 | fi
|
---|
7229 | ;;
|
---|
7230 | s_client)
|
---|
7231 | case $prev in
|
---|
7232 | -connect)
|
---|
7233 | _known_hosts;
|
---|
7234 | return 0
|
---|
7235 | ;;
|
---|
7236 | -@(cert|key|CAfile|rand))
|
---|
7237 | _filedir;
|
---|
7238 | return 0
|
---|
7239 | ;;
|
---|
7240 | -CApath)
|
---|
7241 | _filedir -d;
|
---|
7242 | return 0
|
---|
7243 | ;;
|
---|
7244 | esac;
|
---|
7245 | if [[ "$cur" == -* ]]; then
|
---|
7246 | COMPREPLY=($( compgen -W '-connect -verify -cert -key -CApath -CAfile \
|
---|
7247 | -reconnect -pause -showcerts -debug -msg -nbio_test -state -nbio \
|
---|
7248 | -crlf -ign_eof -quiet -ssl2 -ssl3 -tls1 -no_ssl2 -no_ssl3 -no_tls1 \
|
---|
7249 | -bugs -cipher -starttls -engine -rand' -- $cur ));
|
---|
7250 | fi
|
---|
7251 | ;;
|
---|
7252 | s_server)
|
---|
7253 | case $prev in
|
---|
7254 | -@(cert|key|dcert|dkey|dhparam|CAfile|rand))
|
---|
7255 | _filedir;
|
---|
7256 | return 0
|
---|
7257 | ;;
|
---|
7258 | -CApath)
|
---|
7259 | _filedir -d;
|
---|
7260 | return 0
|
---|
7261 | ;;
|
---|
7262 | esac;
|
---|
7263 | if [[ "$cur" == -* ]]; then
|
---|
7264 | COMPREPLY=($( compgen -W '-accept -context -verify -Verify -cert -key \
|
---|
7265 | -dcert -dkey -dhparam -nbio -nbio_test -crlf -debug -msg -state -CApath \
|
---|
7266 | -CAfile -nocert -cipher -quiet -no_tmp_rsa -ssl2 -ssl3 -tls1 -no_ssl2 \
|
---|
7267 | -no_ssl3 -no_tls1 -no_dhe -bugs -hack -www -WWW -HTTP -engine -id_prefix \
|
---|
7268 | -rand' -- $cur ));
|
---|
7269 | fi
|
---|
7270 | ;;
|
---|
7271 | s_time)
|
---|
7272 | case $prev in
|
---|
7273 | -connect)
|
---|
7274 | _known_hosts;
|
---|
7275 | return 0
|
---|
7276 | ;;
|
---|
7277 | -@(cert|key|CAfile))
|
---|
7278 | _filedir;
|
---|
7279 | return 0
|
---|
7280 | ;;
|
---|
7281 | -CApath)
|
---|
7282 | _filedir -d;
|
---|
7283 | return 0
|
---|
7284 | ;;
|
---|
7285 | esac;
|
---|
7286 | if [[ "$cur" == -* ]]; then
|
---|
7287 | COMPREPLY=($( compgen -W '-connect -www -cert -key -CApath -CAfile -reuse \
|
---|
7288 | -new -verify -nbio -time -ssl2 -ssl3 -bugs -cipher' -- $cur ));
|
---|
7289 | fi
|
---|
7290 | ;;
|
---|
7291 | sess_id)
|
---|
7292 | case $prev in
|
---|
7293 | -@(in|out)form)
|
---|
7294 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7295 | return 0
|
---|
7296 | ;;
|
---|
7297 | -@(in|out))
|
---|
7298 | _filedir;
|
---|
7299 | return 0
|
---|
7300 | ;;
|
---|
7301 | esac;
|
---|
7302 | if [[ "$cur" == -* ]]; then
|
---|
7303 | COMPREPLY=($( compgen -W '-inform -outform -in -out -text -noout \
|
---|
7304 | -context ID' -- $cur ));
|
---|
7305 | fi
|
---|
7306 | ;;
|
---|
7307 | smime)
|
---|
7308 | case $prev in
|
---|
7309 | -@(in|out)form)
|
---|
7310 | COMPREPLY=($( compgen -W 'SMIME DER PEM' -- $cur ));
|
---|
7311 | return 0
|
---|
7312 | ;;
|
---|
7313 | -@(in|out|certfile|signer|recip|inkey|content|rand))
|
---|
7314 | _filedir;
|
---|
7315 | return 0
|
---|
7316 | ;;
|
---|
7317 | esac;
|
---|
7318 | if [[ "$cur" == -* ]]; then
|
---|
7319 | COMPREPLY=($( compgen -W '-encrypt -decrypt -sign -verify -pk7out -des -des3 \
|
---|
7320 | -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -in -certfile -signer \
|
---|
7321 | -recip -inform -passin -inkey -out -outform -content -to -from -subject \
|
---|
7322 | -text -rand' -- $cur ));
|
---|
7323 | else
|
---|
7324 | _filedir;
|
---|
7325 | fi
|
---|
7326 | ;;
|
---|
7327 | speed)
|
---|
7328 | if [[ "$cur" == -* ]]; then
|
---|
7329 | COMPREPLY=($( compgen -W '-engine' -- $cur ));
|
---|
7330 | else
|
---|
7331 | COMPREPLY=($( compgen -W 'md2 mdc2 md5 hmac sha1 rmd160 idea-cbc \
|
---|
7332 | rc2-cbc rc5-cbc bf-cbc des-cbc des-ede3 rc4 rsa512 rsa1024 rsa2048 \
|
---|
7333 | rsa4096 dsa512 dsa1024 dsa2048 idea rc2 des rsa blowfish' -- $cur ));
|
---|
7334 | fi
|
---|
7335 | ;;
|
---|
7336 | verify)
|
---|
7337 | case $prev in
|
---|
7338 | -@(CAfile|untrusted))
|
---|
7339 | _filedir;
|
---|
7340 | return 0
|
---|
7341 | ;;
|
---|
7342 | -CApath)
|
---|
7343 | _filedir -d;
|
---|
7344 | return 0
|
---|
7345 | ;;
|
---|
7346 | esac;
|
---|
7347 | if [[ "$cur" == -* ]]; then
|
---|
7348 | COMPREPLY=($( compgen -W '-CApath -CAfile -purpose -untrusted -help -issuer_checks \
|
---|
7349 | -verbose -certificates' -- $cur ));
|
---|
7350 | else
|
---|
7351 | _filedir;
|
---|
7352 | fi
|
---|
7353 | ;;
|
---|
7354 | x509)
|
---|
7355 | case "$prev" in
|
---|
7356 | -@(in|out|CA|CAkey|CAserial|extfile))
|
---|
7357 | _filedir;
|
---|
7358 | return 0
|
---|
7359 | ;;
|
---|
7360 | -@(in|out)form)
|
---|
7361 | COMPREPLY=($( compgen -W 'DER PEM NET' -- $cur ));
|
---|
7362 | return 0
|
---|
7363 | ;;
|
---|
7364 | -@(key|CA|CAkey)form)
|
---|
7365 | COMPREPLY=($( compgen -W 'DER PEM' -- $cur ));
|
---|
7366 | return 0
|
---|
7367 | ;;
|
---|
7368 | -extensions)
|
---|
7369 | _openssl_sections;
|
---|
7370 | return 0
|
---|
7371 | ;;
|
---|
7372 | esac;
|
---|
7373 | if [[ "$cur" == -* ]]; then
|
---|
7374 | COMPREPLY=($( compgen -W '-inform -outform \
|
---|
7375 | -keyform -CAform -CAkeyform -in -out \
|
---|
7376 | -serial -hash -subject -issuer -nameopt \
|
---|
7377 | -email -startdate -enddate -purpose \
|
---|
7378 | -dates -modulus -fingerprint -alias \
|
---|
7379 | -noout -trustout -clrtrust -clrreject \
|
---|
7380 | -addtrust -addreject -setalias -days \
|
---|
7381 | -set_serial -signkey -x509toreq -req \
|
---|
7382 | -CA -CAkey -CAcreateserial -CAserial \
|
---|
7383 | -text -C -md2 -md5 -sha1 -mdc2 -clrext \
|
---|
7384 | -extfile -extensions -engine' -- $cur ));
|
---|
7385 | fi
|
---|
7386 | ;;
|
---|
7387 | @(md5|md4|md2|sha1|sha|mdc2|ripemd160))
|
---|
7388 | if [[ "$cur" == -* ]]; then
|
---|
7389 | COMPREPLY=($( compgen -W '-c -d' -- $cur ));
|
---|
7390 | else
|
---|
7391 | _filedir;
|
---|
7392 | fi
|
---|
7393 | ;;
|
---|
7394 | esac;
|
---|
7395 | fi;
|
---|
7396 | return 0
|
---|
7397 | }
|
---|
7398 | _openssl_sections ()
|
---|
7399 | {
|
---|
7400 | local config;
|
---|
7401 | config=/etc/ssl/openssl.cnf;
|
---|
7402 | [ ! -f $config ] && config=/usr/share/ssl/openssl.cnf;
|
---|
7403 | for ((i=2; i < COMP_CWORD; i++ ))
|
---|
7404 | do
|
---|
7405 | if [[ "${COMP_WORDS[i]}" == -config ]]; then
|
---|
7406 | config=${COMP_WORDS[i+1]};
|
---|
7407 | break;
|
---|
7408 | fi;
|
---|
7409 | done;
|
---|
7410 | [ ! -f $config ] && return 0;
|
---|
7411 | COMPREPLY=($( awk '/\[.*\]/ {print $2} ' $config | grep "^$cur" ))
|
---|
7412 | }
|
---|
7413 | _p4 ()
|
---|
7414 | {
|
---|
7415 | local cur prev prev2 p4commands p4filetypes;
|
---|
7416 | COMPREPLY=();
|
---|
7417 | cur=`_get_cword`;
|
---|
7418 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7419 | p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )";
|
---|
7420 | p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary uresource uxbinary xbinary xltext xtempobj xtext text binary resource";
|
---|
7421 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
7422 | COMPREPLY=($( compgen -W "$p4commands" -- $cur ));
|
---|
7423 | else
|
---|
7424 | if [ $COMP_CWORD -eq 2 ]; then
|
---|
7425 | case "$prev" in
|
---|
7426 | help)
|
---|
7427 | COMPREPLY=($( compgen -W "simple commands environment filetypes jobview revisions usage views $p4commands" -- $cur ))
|
---|
7428 | ;;
|
---|
7429 | admin)
|
---|
7430 | COMPREPLY=($( compgen -W "checkpoint stop" -- $cur ))
|
---|
7431 | ;;
|
---|
7432 | *)
|
---|
7433 |
|
---|
7434 | ;;
|
---|
7435 | esac;
|
---|
7436 | else
|
---|
7437 | if [ $COMP_CWORD -gt 2 ]; then
|
---|
7438 | prev2=${COMP_WORDS[COMP_CWORD-2]};
|
---|
7439 | case "$prev" in
|
---|
7440 | -t)
|
---|
7441 | case "$prev2" in
|
---|
7442 | add | edit | reopen)
|
---|
7443 | COMPREPLY=($( compgen -W "$p4filetypes" -- $cur))
|
---|
7444 | ;;
|
---|
7445 | *)
|
---|
7446 |
|
---|
7447 | ;;
|
---|
7448 | esac
|
---|
7449 | ;;
|
---|
7450 | *)
|
---|
7451 |
|
---|
7452 | ;;
|
---|
7453 | esac;
|
---|
7454 | fi;
|
---|
7455 | fi;
|
---|
7456 | fi;
|
---|
7457 | return 0
|
---|
7458 | }
|
---|
7459 | _parse_help ()
|
---|
7460 | {
|
---|
7461 | local cmd;
|
---|
7462 | cmd=$1;
|
---|
7463 | $cmd --help | grep --color=auto -- "^[[:space:]]*-" | tr "," " " | awk '{print $1; if ($2 ~ /-.*/) { print $2 } }' | sed -e "s:=.*::g"
|
---|
7464 | }
|
---|
7465 | _pci_ids ()
|
---|
7466 | {
|
---|
7467 | COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$( lspci -n | awk '{print $3}')" -- $cur ))
|
---|
7468 | }
|
---|
7469 | _perl ()
|
---|
7470 | {
|
---|
7471 | local cur prev prefix temp;
|
---|
7472 | local optPrefix optSuffix;
|
---|
7473 | COMPREPLY=();
|
---|
7474 | cur=`_get_cword`;
|
---|
7475 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7476 | prefix="";
|
---|
7477 | if [[ "$cur" == -?* ]]; then
|
---|
7478 | temp=$cur;
|
---|
7479 | prev=${temp:0:2};
|
---|
7480 | cur=${temp:2};
|
---|
7481 | optPrefix=-P$prev;
|
---|
7482 | optSuffix=-S/;
|
---|
7483 | prefix=$prev;
|
---|
7484 | fi;
|
---|
7485 | case "$prev" in
|
---|
7486 | -I | -x)
|
---|
7487 | local IFS='
|
---|
7488 | ';
|
---|
7489 | COMPREPLY=($( compgen -d $optPrefix $optSuffix -- "$cur" ));
|
---|
7490 | return 0
|
---|
7491 | ;;
|
---|
7492 | -m | -M)
|
---|
7493 | _perlmodules;
|
---|
7494 | return 0
|
---|
7495 | ;;
|
---|
7496 | esac;
|
---|
7497 | if [[ "$cur" == -* ]]; then
|
---|
7498 | COMPREPLY=($( compgen -W '-C -s -T -u -U -W -X -h -v -V -c -w -d \
|
---|
7499 | -D -p -n -a -F -l -0 -I -m -M -P -S -x -i -e ' -- $cur ));
|
---|
7500 | else
|
---|
7501 | _filedir;
|
---|
7502 | fi
|
---|
7503 | }
|
---|
7504 | _perldoc ()
|
---|
7505 | {
|
---|
7506 | local cur prev prefix temp;
|
---|
7507 | COMPREPLY=();
|
---|
7508 | cur=`_get_cword`;
|
---|
7509 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7510 | prefix="";
|
---|
7511 | if [[ "$cur" == -?* ]]; then
|
---|
7512 | temp=$cur;
|
---|
7513 | prev=${temp:0:2};
|
---|
7514 | cur=${temp:2};
|
---|
7515 | prefix=$prev;
|
---|
7516 | fi;
|
---|
7517 | case $prev in
|
---|
7518 | -f)
|
---|
7519 | COMPREPLY=($( compgen -W 'chomp chop chr crypt hex index lc \
|
---|
7520 | lcfirst length oct ord pack q qq reverse rindex sprintf \
|
---|
7521 | substr tr uc ucfirst y m pos quotemeta s split study qr abs \
|
---|
7522 | atan2 cos exp hex int log oct rand sin sqrt srand pop push \
|
---|
7523 | shift splice unshift grep join map qw reverse sort unpack \
|
---|
7524 | delete each exists keys values binmode close closedir \
|
---|
7525 | dbmclose dbmopen die eof fileno flock format getc print \
|
---|
7526 | printf read readdir rewinddir seek seekdir select syscall \
|
---|
7527 | sysread sysseek syswrite tell telldir truncate warn write \
|
---|
7528 | pack read syscall sysread syswrite unpack vec -X chdir chmod \
|
---|
7529 | chown chroot fcntl glob ioctl link lstat mkdir open opendir \
|
---|
7530 | readlink rename rmdir stat symlink umask unlink utime caller \
|
---|
7531 | continue do dump eval exit goto last next redo return \
|
---|
7532 | sub wantarray caller import local my our package use defined \
|
---|
7533 | formline reset scalar undef \
|
---|
7534 | alarm exec fork getpgrp getppid getpriority kill pipe qx \
|
---|
7535 | setpgrp setpriority sleep system times wait waitpid \
|
---|
7536 | import no package require use bless dbmclose dbmopen package \
|
---|
7537 | ref tie tied untie use accept bind connect getpeername \
|
---|
7538 | getsockname getsockopt listen recv send setsockopt shutdown \
|
---|
7539 | socket socketpair msgctl msgget msgrcv msgsnd semctl semget \
|
---|
7540 | semop shmctl shmget shmread shmwrite endgrent endhostent \
|
---|
7541 | endnetent endpwent getgrent getgrgid getgrnam getlogin \
|
---|
7542 | getpwent getpwnam getpwuid setgrent setpwent endprotoent \
|
---|
7543 | endservent gethostbyaddr gethostbyname gethostent \
|
---|
7544 | getnetbyaddr getnetbyname getnetent getprotobyname \
|
---|
7545 | getprotobynumber getprotoent getservbyname getservbyport \
|
---|
7546 | getservent sethostent setnetent setprotoent setservent \
|
---|
7547 | gmtime localtime time times' -- $cur ));
|
---|
7548 | return 0
|
---|
7549 | ;;
|
---|
7550 | esac;
|
---|
7551 | if [[ "$cur" == -* ]]; then
|
---|
7552 | COMPREPLY=($( compgen -W '-h -v -t -u -m -l -F -X -f -q' -- $cur ));
|
---|
7553 | else
|
---|
7554 | if [[ "$cur" != */* ]]; then
|
---|
7555 | _perlmodules;
|
---|
7556 | COMPREPLY=("${COMPREPLY[@]}" $( compgen -W '$( PAGER=/bin/cat man perl | sed -ne "/perl.*Perl overview/,/perlwin32/p" | awk "\$NF=2 { print \$1}" | grep perl )' -- $cur ));
|
---|
7557 | fi;
|
---|
7558 | fi
|
---|
7559 | }
|
---|
7560 | _perlmodules ()
|
---|
7561 | {
|
---|
7562 | COMPREPLY=($( compgen -P "$prefix" -W "$( perl -e 'sub mods { my ($base,$dir)=@_; return if $base !~ /^\Q$ENV{cur}/; chdir($dir) or return; for (glob(q[*.pm])) {s/\.pm$//; print qq[$base$_\n]}; mods(/^(?:[.\d]+|$Config{archname}-$Config{osname}|auto)$/ ? undef : qq[${base}${_}\\\\:\\\\:],qq[$dir/$_]) for grep {-d} glob(q[*]); } mods(undef,$_) for @INC;' )" -- $cur ))
|
---|
7563 | }
|
---|
7564 | _pgids ()
|
---|
7565 | {
|
---|
7566 | COMPREPLY=($( compgen -W '$( command ps axo pgid | sed 1d )' -- $cur ))
|
---|
7567 | }
|
---|
7568 | _pgrep ()
|
---|
7569 | {
|
---|
7570 | local cur;
|
---|
7571 | COMPREPLY=();
|
---|
7572 | cur=`_get_cword`;
|
---|
7573 | _pnames;
|
---|
7574 | return 0
|
---|
7575 | }
|
---|
7576 | _pids ()
|
---|
7577 | {
|
---|
7578 | COMPREPLY=($( compgen -W '$( command ps axo pid | sed 1d )' -- $cur ))
|
---|
7579 | }
|
---|
7580 | _pkg_config ()
|
---|
7581 | {
|
---|
7582 | local cur;
|
---|
7583 | COMPREPLY=();
|
---|
7584 | cur=`_get_cword`;
|
---|
7585 | if [[ "$cur" == -* ]]; then
|
---|
7586 | COMPREPLY=($( compgen -W '-version --modversion \
|
---|
7587 | --atleast-pkgconfig-version= --libs --libs-only-l \
|
---|
7588 | --libs-only-other --libs-only-L --cflags \
|
---|
7589 | --cflags-only-I --cflags-only-other --variable= \
|
---|
7590 | --define-variable= --exists --uninstalled \
|
---|
7591 | --atleast-version= --exact-version= --max-version= \
|
---|
7592 | --list-all --debug --print-errors --silence-errors \
|
---|
7593 | --errors-to-stdout -? --help --usage' -- $cur));
|
---|
7594 | else
|
---|
7595 | COMPREPLY=($( pkg-config --list-all 2>/dev/null | awk '{print $1}' | grep "^$cur" ));
|
---|
7596 | fi
|
---|
7597 | }
|
---|
7598 | _pnames ()
|
---|
7599 | {
|
---|
7600 | COMPREPLY=($( compgen -W '$( command ps axo command | \
|
---|
7601 | sed -e "1d; s/ .*//; s:.*/::; s/:$//;" \
|
---|
7602 | -e "s/^[[(-]//; s/[])]$//" \
|
---|
7603 | -e "s/^<defunct>$//")' -- $cur ))
|
---|
7604 | }
|
---|
7605 | _poff ()
|
---|
7606 | {
|
---|
7607 | local prev cur conns;
|
---|
7608 | [ -r /etc/ppp/peers/ ] || return 0;
|
---|
7609 | COMPREPLY=();
|
---|
7610 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7611 | cur=${COMP_WORDS[COMP_CWORD]};
|
---|
7612 | conns=$(\ls --color=none /etc/ppp/peers | egrep -v '(\.bak|~)$');
|
---|
7613 | if [[ "$cur" == -* ]]; then
|
---|
7614 | COMPREPLY=($(compgen -W '-r -d -c -a -h -v' -- $cur));
|
---|
7615 | return 0;
|
---|
7616 | fi;
|
---|
7617 | if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]] || [[ "$prev" == -* ]]; then
|
---|
7618 | COMPREPLY=($(compgen -o filenames -W "$conns" $cur));
|
---|
7619 | fi;
|
---|
7620 | return 0
|
---|
7621 | }
|
---|
7622 | _pon ()
|
---|
7623 | {
|
---|
7624 | local cur conns;
|
---|
7625 | [ -r /etc/ppp/peers/ ] || return 0;
|
---|
7626 | COMPREPLY=();
|
---|
7627 | cur=${COMP_WORDS[COMP_CWORD]};
|
---|
7628 | conns=$(\ls --color=none /etc/ppp/peers | egrep -v '(\.bak|~)$');
|
---|
7629 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
7630 | COMPREPLY=($(compgen -o filenames -W "$conns" $cur));
|
---|
7631 | fi;
|
---|
7632 | return 0
|
---|
7633 | }
|
---|
7634 | _povray ()
|
---|
7635 | {
|
---|
7636 | local cur prev povcur pfx oext defoext;
|
---|
7637 | defoext=png;
|
---|
7638 | COMPREPLY=();
|
---|
7639 | povcur=`_get_cword`;
|
---|
7640 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7641 | _expand || return 0;
|
---|
7642 | case $povcur in
|
---|
7643 | [-+]I*)
|
---|
7644 | cur="${povcur#[-+]I}";
|
---|
7645 | pfx="${povcur%"$cur"}";
|
---|
7646 | _filedir pov;
|
---|
7647 | COMPREPLY=(${COMPREPLY[@]/#/$pfx});
|
---|
7648 | return 0
|
---|
7649 | ;;
|
---|
7650 | [-+]O*)
|
---|
7651 | case $( ( IFS='
|
---|
7652 | '; echo "${COMP_WORDS[*]}" | grep '^[-+]F' ) ) in
|
---|
7653 | [-+]FN)
|
---|
7654 | oext=png
|
---|
7655 | ;;
|
---|
7656 | [-+]FP)
|
---|
7657 | oext=ppm
|
---|
7658 | ;;
|
---|
7659 | [-+]F[CT])
|
---|
7660 | oext=tga
|
---|
7661 | ;;
|
---|
7662 | *)
|
---|
7663 | oext=$defoext
|
---|
7664 | ;;
|
---|
7665 | esac;
|
---|
7666 | COMPREPLY=($( ( IFS='
|
---|
7667 | '; echo "${COMP_WORDS[*]}" | grep '^[-+]I' ) ));
|
---|
7668 | COMPREPLY=(${COMPREPLY[@]#[-+]I});
|
---|
7669 | COMPREPLY=(${COMPREPLY[@]/%.pov/.$oext});
|
---|
7670 | cur="${povcur#[-+]O}";
|
---|
7671 | pfx="${povcur%"$cur"}";
|
---|
7672 | _filedir $oext;
|
---|
7673 | COMPREPLY=(${COMPREPLY[@]/#/$pfx});
|
---|
7674 | return 0
|
---|
7675 | ;;
|
---|
7676 | *.ini\[ | *.ini\[*[^]])
|
---|
7677 | cur="${povcur#*\[}";
|
---|
7678 | pfx="${povcur%\["$cur"}";
|
---|
7679 | [ -r "$pfx" ] || return 0;
|
---|
7680 | COMPREPLY=($(sed -e 's/^[[:space:]]*\[\('"$cur"'[^]]*\]\).*$/\1/' -e 't' -e 'd' -- "$pfx"));
|
---|
7681 | COMPREPLY=("${COMPREPLY[@]/#/$pfx[}");
|
---|
7682 | return 0
|
---|
7683 | ;;
|
---|
7684 | *)
|
---|
7685 | cur="$povcur";
|
---|
7686 | _filedir '?(ini|pov)';
|
---|
7687 | return 0
|
---|
7688 | ;;
|
---|
7689 | esac
|
---|
7690 | }
|
---|
7691 | _python ()
|
---|
7692 | {
|
---|
7693 | local prev cur;
|
---|
7694 | COMPREPLY=();
|
---|
7695 | cur=`_get_cword`;
|
---|
7696 | prev=${COMP_WORDS[COMP_CWORD-1]##*/};
|
---|
7697 | case "$prev" in
|
---|
7698 | -Q)
|
---|
7699 | COMPREPLY=($( compgen -W "old new warn warnall" -- $cur ));
|
---|
7700 | return 0
|
---|
7701 | ;;
|
---|
7702 | -W)
|
---|
7703 | COMPREPLY=($( compgen -W "ignore default all module once error" -- $cur ));
|
---|
7704 | return 0
|
---|
7705 | ;;
|
---|
7706 | -c)
|
---|
7707 | _filedir '@(py|pyc|pyo)';
|
---|
7708 | return 0
|
---|
7709 | ;;
|
---|
7710 | !(python|-?))
|
---|
7711 | [[ ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] && _filedir
|
---|
7712 | ;;
|
---|
7713 | esac;
|
---|
7714 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
7715 | do
|
---|
7716 | if [[ ${COMP_WORDS[i]} == -c ]]; then
|
---|
7717 | _filedir;
|
---|
7718 | fi;
|
---|
7719 | done;
|
---|
7720 | if [[ "$cur" != -* ]]; then
|
---|
7721 | _filedir '@(py|pyc|pyo)';
|
---|
7722 | else
|
---|
7723 | COMPREPLY=($( compgen -W "- -d -E -h -i -O -Q -S -t -u -U -v -V -W -x -c" -- $cur ));
|
---|
7724 | fi;
|
---|
7725 | return 0
|
---|
7726 | }
|
---|
7727 | _qrunner ()
|
---|
7728 | {
|
---|
7729 | local cur;
|
---|
7730 | COMPREPLY=();
|
---|
7731 | cur=`_get_cword`;
|
---|
7732 | if [[ "$cur" == -* ]]; then
|
---|
7733 | COMPREPLY=($( compgen -W '-r --runner= --once -o \
|
---|
7734 | -l --list -v --verbose -s --subproc -h --help' -- $cur ));
|
---|
7735 | fi
|
---|
7736 | }
|
---|
7737 | _realcommand ()
|
---|
7738 | {
|
---|
7739 | type -P "$1" > /dev/null && {
|
---|
7740 | if type -p realpath > /dev/null; then
|
---|
7741 | realpath "$(type -P "$1")";
|
---|
7742 | else
|
---|
7743 | if type -p readlink > /dev/null; then
|
---|
7744 | readlink -f "$(type -P "$1")";
|
---|
7745 | else
|
---|
7746 | type -P "$1";
|
---|
7747 | fi;
|
---|
7748 | fi
|
---|
7749 | }
|
---|
7750 | }
|
---|
7751 | _remove_members ()
|
---|
7752 | {
|
---|
7753 | local cur prev;
|
---|
7754 | COMPREPLY=();
|
---|
7755 | cur=`_get_cword`;
|
---|
7756 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7757 | case "$prev" in
|
---|
7758 | -@(f|-file=))
|
---|
7759 | _filedir;
|
---|
7760 | return 0
|
---|
7761 | ;;
|
---|
7762 | esac;
|
---|
7763 | if [[ "$cur" == -* ]]; then
|
---|
7764 | COMPREPLY=($( compgen -W '--file= -f --all -a \
|
---|
7765 | --fromall --nouserack -n --noadminack -N \
|
---|
7766 | --help -h' -- $cur ));
|
---|
7767 | else
|
---|
7768 | _mailman_lists;
|
---|
7769 | fi
|
---|
7770 | }
|
---|
7771 | _renice ()
|
---|
7772 | {
|
---|
7773 | local command cur curopt i;
|
---|
7774 | COMPREPLY=();
|
---|
7775 | cur=`_get_cword`;
|
---|
7776 | command=$1;
|
---|
7777 | i=0;
|
---|
7778 | while [ $i -le $COMP_CWORD -a ${#COMPREPLY[@]} -eq 0 ]; do
|
---|
7779 | curopt=${COMP_WORDS[COMP_CWORD-$i]};
|
---|
7780 | case "$curopt" in
|
---|
7781 | -u)
|
---|
7782 | COMPREPLY=($( compgen -u -- $cur ))
|
---|
7783 | ;;
|
---|
7784 | -g)
|
---|
7785 | _pgids
|
---|
7786 | ;;
|
---|
7787 | -p | $command)
|
---|
7788 | _pids
|
---|
7789 | ;;
|
---|
7790 | esac;
|
---|
7791 | i=$(( ++i ));
|
---|
7792 | done
|
---|
7793 | }
|
---|
7794 | _ri ()
|
---|
7795 | {
|
---|
7796 | local cur class method prefix ri_path ri_version separator IFS;
|
---|
7797 | local -a classes;
|
---|
7798 | COMPREPLY=();
|
---|
7799 | cur=`_get_cword`;
|
---|
7800 | ri_path=$(type -p ri);
|
---|
7801 | ri_version="$(ruby -W0 $ri_path -v 2>&1)" || ri_version=integrated;
|
---|
7802 | [ "$ri_version" != "${ri_version%200*}" ] && ri_version=integrated;
|
---|
7803 | IFS=',
|
---|
7804 | ';
|
---|
7805 | if [[ "$cur" == [A-Z]*[#.]* ]]; then
|
---|
7806 | [[ "$cur" == *#* ]] && separator=# || separator=.;
|
---|
7807 | class=${cur%$separator*};
|
---|
7808 | method=${cur#*$separator};
|
---|
7809 | classes=($class);
|
---|
7810 | prefix="-P $class$separator";
|
---|
7811 | ri_get_methods;
|
---|
7812 | return 0;
|
---|
7813 | fi;
|
---|
7814 | if [ "$ri_version" = integrated ]; then
|
---|
7815 | classes=($( ri -c | ruby -ne 'if /^\s*$/..$stdin.eof then \
|
---|
7816 | if /, [A-Z]+/ then print; end; end' ));
|
---|
7817 | else
|
---|
7818 | if [ "$ri_version" = "ri 1.8a" ]; then
|
---|
7819 | classes=($( ruby -W0 $ri_path | ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \
|
---|
7820 | if /^ .*[A-Z]/ then print; end; end' ));
|
---|
7821 | else
|
---|
7822 | classes=($( ruby -W0 $ri_path | ruby -ne 'if /^I have/..$stdin.eof then \
|
---|
7823 | if /^ .*[A-Z]/ then print; end; end' ));
|
---|
7824 | fi;
|
---|
7825 | fi;
|
---|
7826 | COMPREPLY=($( compgen -W '${classes[@]}' -- $cur ));
|
---|
7827 | if [[ "$cur" == [A-Z]* ]]; then
|
---|
7828 | return 0;
|
---|
7829 | fi;
|
---|
7830 | method=$cur;
|
---|
7831 | ri_get_methods
|
---|
7832 | }
|
---|
7833 | _rl_enabled ()
|
---|
7834 | {
|
---|
7835 | [[ "$( bind -v )" = *$1+([[:space:]])on* ]]
|
---|
7836 | }
|
---|
7837 | _rmlist ()
|
---|
7838 | {
|
---|
7839 | local cur;
|
---|
7840 | COMPREPLY=();
|
---|
7841 | cur=`_get_cword`;
|
---|
7842 | if [[ "$cur" == -* ]]; then
|
---|
7843 | COMPREPLY=($( compgen -W '--archives -a \
|
---|
7844 | -h --help' -- $cur ));
|
---|
7845 | else
|
---|
7846 | _mailman_lists;
|
---|
7847 | fi
|
---|
7848 | }
|
---|
7849 | _rmmod ()
|
---|
7850 | {
|
---|
7851 | local cur;
|
---|
7852 | COMPREPLY=();
|
---|
7853 | cur=`_get_cword`;
|
---|
7854 | _installed_modules "$cur";
|
---|
7855 | return 0
|
---|
7856 | }
|
---|
7857 | _root_command ()
|
---|
7858 | {
|
---|
7859 | PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin _command $1 $2 $3
|
---|
7860 | }
|
---|
7861 | _route ()
|
---|
7862 | {
|
---|
7863 | local cur prev;
|
---|
7864 | COMPREPLY=();
|
---|
7865 | cur=`_get_cword`;
|
---|
7866 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7867 | if [ "$prev" = dev ]; then
|
---|
7868 | COMPREPLY=($( ifconfig -a | sed -ne 's|^\('$cur'[^ ]*\).*$|\1|p' ));
|
---|
7869 | return 0;
|
---|
7870 | fi;
|
---|
7871 | COMPREPLY=($( compgen -W 'add del -host -net netmask metric mss \
|
---|
7872 | window irtt reject mod dyn reinstate dev \
|
---|
7873 | default gw' -- $cur ));
|
---|
7874 | COMPREPLY=($( echo " ${COMP_WORDS[@]}" | (while read -d ' ' i; do
|
---|
7875 | [ "$i" == "" ] && continue
|
---|
7876 | # flatten array with spaces on either side,
|
---|
7877 | # otherwise we cannot grep on word
|
---|
7878 | # boundaries of first and last word
|
---|
7879 | COMPREPLY=" ${COMPREPLY[@]} "
|
---|
7880 | # remove word from list of completions
|
---|
7881 | COMPREPLY=( ${COMPREPLY/ $i / } )
|
---|
7882 | done
|
---|
7883 | echo "${COMPREPLY[@]}")
|
---|
7884 | ));
|
---|
7885 | return 0
|
---|
7886 | }
|
---|
7887 | _rpm ()
|
---|
7888 | {
|
---|
7889 | local cur prev nodig nosig;
|
---|
7890 | COMPREPLY=();
|
---|
7891 | cur=`_get_cword`;
|
---|
7892 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
7893 | nodig="";
|
---|
7894 | nosig="";
|
---|
7895 | _rpm_nodigsig;
|
---|
7896 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
7897 | case "$cur" in
|
---|
7898 | -b*)
|
---|
7899 | COMPREPLY=($( compgen -W '-ba -bb -bc -bi -bl -bp -bs' -- $cur ))
|
---|
7900 | ;;
|
---|
7901 | -t*)
|
---|
7902 | COMPREPLY=($( compgen -W '-ta -tb -tc -ti -tl -tp -ts' -- $cur ))
|
---|
7903 | ;;
|
---|
7904 | --*)
|
---|
7905 | COMPREPLY=($( compgen -W '--help --version --initdb \
|
---|
7906 | --checksig --recompile --rebuild --resign --addsign \
|
---|
7907 | --rebuilddb --showrc --setperms --setugids --tarbuild \
|
---|
7908 | --eval --install --upgrade --query --freshen --erase \
|
---|
7909 | --verify --querytags --rmsource --rmspec --clean \
|
---|
7910 | --import' -- $cur ))
|
---|
7911 | ;;
|
---|
7912 | *)
|
---|
7913 | COMPREPLY=($( compgen -W '-b -e -E -F -i -q -t -U -V' -- $cur ))
|
---|
7914 | ;;
|
---|
7915 | esac;
|
---|
7916 | return 0;
|
---|
7917 | fi;
|
---|
7918 | case "$prev" in
|
---|
7919 | --@(@(db|exclude)path|prefix|relocate|root))
|
---|
7920 | _filedir -d;
|
---|
7921 | return 0
|
---|
7922 | ;;
|
---|
7923 | --eval | -E)
|
---|
7924 | COMPREPLY=($( rpm --showrc | sed -ne 's/^-\?[0-9]\+[:=][[:space:]]\+\('${cur#%}'[^[:space:](]*\).*/\1/p' ));
|
---|
7925 | COMPREPLY=("${COMPREPLY[@]/#/%}");
|
---|
7926 | return 0
|
---|
7927 | ;;
|
---|
7928 | --pipe)
|
---|
7929 | COMPREPLY=($( compgen -c -- $cur ));
|
---|
7930 | return 0
|
---|
7931 | ;;
|
---|
7932 | --rcfile)
|
---|
7933 | _filedir;
|
---|
7934 | return 0
|
---|
7935 | ;;
|
---|
7936 | --specfile)
|
---|
7937 | _filedir spec;
|
---|
7938 | return 0
|
---|
7939 | ;;
|
---|
7940 | --whatprovides)
|
---|
7941 | if [[ "$cur" == */* ]]; then
|
---|
7942 | _filedir;
|
---|
7943 | else
|
---|
7944 | COMPREPLY=($( rpm -qa $nodig $nosig --queryformat '%{providename}\n' | grep "^$cur" ));
|
---|
7945 | fi;
|
---|
7946 | return 0
|
---|
7947 | ;;
|
---|
7948 | --whatrequires)
|
---|
7949 | COMPREPLY=($( rpm -qa $nodig $nosig --queryformat '%{requirename}\n' | grep "^$cur" ));
|
---|
7950 | return 0
|
---|
7951 | ;;
|
---|
7952 | --target)
|
---|
7953 | COMPREPLY=($( compgen -W "$( command rpm --showrc | sed -ne 's/^\s*compatible\s\+build\s\+archs\s*:\s*\(.*\)/\1/ p' )" -- $cur ));
|
---|
7954 | return 0
|
---|
7955 | ;;
|
---|
7956 | esac;
|
---|
7957 | case "${COMP_WORDS[1]}" in
|
---|
7958 | -@([iFU]*|-install|-freshen|-upgrade))
|
---|
7959 | if [[ "$cur" == -* ]]; then
|
---|
7960 | COMPREPLY=($( compgen -W '--percent --force --test \
|
---|
7961 | --replacepkgs --replacefiles --root --excludedocs \
|
---|
7962 | --includedocs --noscripts --rcfile --ignorearch \
|
---|
7963 | --dbpath --prefix --ignoreos --nodeps --allfiles \
|
---|
7964 | --ftpproxy --ftpport --justdb --httpproxy --httpport \
|
---|
7965 | --noorder --relocate --badreloc --notriggers \
|
---|
7966 | --excludepath --ignoresize --oldpackage --define \
|
---|
7967 | --eval --pipe --queryformat --repackage --nosuggests \
|
---|
7968 | --nodigest --nosignature' -- $cur ));
|
---|
7969 | else
|
---|
7970 | _filedir 'rpm';
|
---|
7971 | fi
|
---|
7972 | ;;
|
---|
7973 | -@(e|-erase))
|
---|
7974 | if [[ "$cur" == -* ]]; then
|
---|
7975 | COMPREPLY=($( compgen -W '--allmatches --noscripts \
|
---|
7976 | --notriggers --nodeps --test --repackage' -- $cur ));
|
---|
7977 | else
|
---|
7978 | _rpm_installed_packages "$nodig" "$nosig";
|
---|
7979 | fi
|
---|
7980 | ;;
|
---|
7981 | -@(q*|-query))
|
---|
7982 | if [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
|
---|
7983 | if [[ "$cur" == -* ]]; then
|
---|
7984 | COMPREPLY=($( compgen -W '--scripts --root \
|
---|
7985 | --rcfile --requires --ftpport --ftpproxy \
|
---|
7986 | --httpproxy --httpport --provides --triggers \
|
---|
7987 | --dump --changelog --dbpath \
|
---|
7988 | --last --filesbypkg \
|
---|
7989 | --info --list --state \
|
---|
7990 | --docfiles --configfiles --queryformat \
|
---|
7991 | --conflicts --obsoletes \
|
---|
7992 | --nodigest --nosignature \
|
---|
7993 | --suggests --enhances \
|
---|
7994 | --triggerscripts' -- $cur ));
|
---|
7995 | else
|
---|
7996 | _filedir;
|
---|
7997 | fi;
|
---|
7998 | else
|
---|
7999 | if [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
|
---|
8000 | _rpm_groups;
|
---|
8001 | else
|
---|
8002 | if [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
|
---|
8003 | if [[ "$cur" == -* ]]; then
|
---|
8004 | COMPREPLY=($( compgen -W '--scripts --root \
|
---|
8005 | --rcfile --whatprovides --whatrequires \
|
---|
8006 | --requires --triggeredby --ftpport --ftpproxy \
|
---|
8007 | --httpproxy --httpport --provides --triggers \
|
---|
8008 | --dump --changelog --dbpath --filesbypkg \
|
---|
8009 | --define --eval --pipe --showrc --info --list \
|
---|
8010 | --state --docfiles --configfiles --queryformat\
|
---|
8011 | --conflicts --obsoletes --nodigest \
|
---|
8012 | --nosignature' -- $cur ));
|
---|
8013 | else
|
---|
8014 | _filedir 'rpm';
|
---|
8015 | fi;
|
---|
8016 | else
|
---|
8017 | if [[ "$cur" == -* ]]; then
|
---|
8018 | COMPREPLY=($( compgen -W '--scripts --root \
|
---|
8019 | --rcfile --whatprovides --whatrequires \
|
---|
8020 | --requires --triggeredby --ftpport --ftpproxy \
|
---|
8021 | --httpproxy --httpport --provides --triggers \
|
---|
8022 | --dump --changelog --dbpath --specfile \
|
---|
8023 | --querybynumber --last --filesbypkg --define \
|
---|
8024 | --eval --pipe --showrc --info --list --state \
|
---|
8025 | --docfiles --configfiles --queryformat \
|
---|
8026 | --conflicts --obsoletes --pkgid --hdrid \
|
---|
8027 | --fileid --tid --nodigest --nosignature \
|
---|
8028 | --triggerscripts' -- $cur ));
|
---|
8029 | else
|
---|
8030 | if [ "${COMP_LINE#* -*([^ -])a}" == "$COMP_LINE" ]; then
|
---|
8031 | _rpm_installed_packages "$nodig" "$nosig";
|
---|
8032 | fi;
|
---|
8033 | fi;
|
---|
8034 | fi;
|
---|
8035 | fi;
|
---|
8036 | fi
|
---|
8037 | ;;
|
---|
8038 | -@(K*|-checksig))
|
---|
8039 | if [[ "$cur" == -* ]]; then
|
---|
8040 | COMPREPLY=($( compgen -W '--nopgp --nogpg --nomd5 \
|
---|
8041 | --nodigest --nosignature' -- $cur ));
|
---|
8042 | else
|
---|
8043 | _filedir 'rpm';
|
---|
8044 | fi
|
---|
8045 | ;;
|
---|
8046 | -@([Vy]*|-verify))
|
---|
8047 | if [[ "$cur" == -* ]]; then
|
---|
8048 | COMPREPLY=($( compgen -W '--root --rcfile --dbpath \
|
---|
8049 | --nodeps --nogroup --nolinkto --nomode --nomtime \
|
---|
8050 | --nordev --nouser --nofiles --noscripts --nomd5 \
|
---|
8051 | --querytags --specfile --whatrequires --whatprovides \
|
---|
8052 | --nodigest --nosignature' -- $cur ));
|
---|
8053 | else
|
---|
8054 | if [ "${COMP_LINE#* -*([^ -])f}" != "$COMP_LINE" ]; then
|
---|
8055 | _filedir;
|
---|
8056 | else
|
---|
8057 | if [ "${COMP_LINE#* -*([^ -])g}" != "$COMP_LINE" ]; then
|
---|
8058 | _rpm_groups;
|
---|
8059 | else
|
---|
8060 | if [ "${COMP_LINE#* -*([^ -])p}" != "$COMP_LINE" ]; then
|
---|
8061 | _filedir 'rpm';
|
---|
8062 | else
|
---|
8063 | _rpm_installed_packages "$nodig" "$nosig";
|
---|
8064 | fi;
|
---|
8065 | fi;
|
---|
8066 | fi;
|
---|
8067 | fi
|
---|
8068 | ;;
|
---|
8069 | -[bt]*)
|
---|
8070 | if [[ "$cur" == -* ]]; then
|
---|
8071 | COMPREPLY=($( compgen -W '--short-circuit --timecheck \
|
---|
8072 | --clean --rmsource --rmspec --test --sign --buildroot \
|
---|
8073 | --target --nobuild --nodeps --nodirtokens' -- $cur ));
|
---|
8074 | else
|
---|
8075 | if [[ ${COMP_WORDS[1]} == -b* ]]; then
|
---|
8076 | _filedir 'spec';
|
---|
8077 | else
|
---|
8078 | _filedir '@(tgz|tar.@(gz|bz2|lzma))';
|
---|
8079 | fi;
|
---|
8080 | fi
|
---|
8081 | ;;
|
---|
8082 | --re@(build|compile))
|
---|
8083 | if [[ "$cur" == -* ]]; then
|
---|
8084 | COMPREPLY=($( compgen -W '--nodeps --rmsource \
|
---|
8085 | --rmspec --sign --nodirtokens --target' -- $cur ));
|
---|
8086 | else
|
---|
8087 | _filedir '?(no)src.rpm';
|
---|
8088 | fi
|
---|
8089 | ;;
|
---|
8090 | --tarbuild)
|
---|
8091 | _filedir '@(tgz|tar.@(gz|bz2|lzma))'
|
---|
8092 | ;;
|
---|
8093 | --@(re|add)sign)
|
---|
8094 | _filedir 'rpm'
|
---|
8095 | ;;
|
---|
8096 | --set@(perms|gids))
|
---|
8097 | _rpm_installed_packages "$nodig" "$nosig"
|
---|
8098 | ;;
|
---|
8099 | --@(clean|rms@(ource|pec)))
|
---|
8100 | if [[ "$cur" == -* ]]; then
|
---|
8101 | COMPREPLY=($( compgen -W '--clean --rmsource \
|
---|
8102 | --rmspec' -- $cur ));
|
---|
8103 | else
|
---|
8104 | _filedir 'spec';
|
---|
8105 | fi
|
---|
8106 | ;;
|
---|
8107 | --@(import|dbpath|root))
|
---|
8108 | if [[ "$cur" == -* ]]; then
|
---|
8109 | COMPREPLY=($( compgen -W '--import --dbpath --root' -- $cur ));
|
---|
8110 | else
|
---|
8111 | _filedir;
|
---|
8112 | fi
|
---|
8113 | ;;
|
---|
8114 | esac;
|
---|
8115 | return 0
|
---|
8116 | }
|
---|
8117 | _rpm_groups ()
|
---|
8118 | {
|
---|
8119 | local IFS=' ';
|
---|
8120 | cur=${cur%"\\"};
|
---|
8121 | COMPREPLY=($( rpm -qa $nodig $nosig --queryformat '%{group}\n' | grep "^$cur" ));
|
---|
8122 | COMPREPLY=($( echo "${COMPREPLY[@]}" | sed 's/ /\\ /g' | tr '\n' '\t' ))
|
---|
8123 | }
|
---|
8124 | _rpm_installed_packages ()
|
---|
8125 | {
|
---|
8126 | local ver nodig="$1" nosig="$2";
|
---|
8127 | if [ -r /var/log/rpmpkgs -a /var/log/rpmpkgs -nt /var/lib/rpm/Packages ]; then
|
---|
8128 | COMPREPLY=($( sed -ne 's|^\('$cur'[^[:space:]]*\)-[^[:space:]-]\+-[^[:space:]-]\+\.rpm$|\1|p' /var/log/rpmpkgs ));
|
---|
8129 | else
|
---|
8130 | _rpm_nodigsig;
|
---|
8131 | COMPREPLY=($( rpm -qa $nodig $nosig --qf='%{NAME} ' "$cur*" ));
|
---|
8132 | fi
|
---|
8133 | }
|
---|
8134 | _rpm_nodigsig ()
|
---|
8135 | {
|
---|
8136 | if [ -z "$nodig" -a -z "$nosig" ]; then
|
---|
8137 | local rpmver;
|
---|
8138 | rpmver=$(rpm --version);
|
---|
8139 | rpmver=${rpmver##* };
|
---|
8140 | if [[ "$rpmver" > "4.0.4" ]]; then
|
---|
8141 | nodig="--nodigest";
|
---|
8142 | fi;
|
---|
8143 | if [[ "$rpmver" > "4.0.99" ]]; then
|
---|
8144 | nosig="--nosignature";
|
---|
8145 | fi;
|
---|
8146 | fi
|
---|
8147 | }
|
---|
8148 | _rsync ()
|
---|
8149 | {
|
---|
8150 | local cur prev shell i userhost path;
|
---|
8151 | COMPREPLY=();
|
---|
8152 | cur=`_get_cword`;
|
---|
8153 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8154 | _expand || return 0;
|
---|
8155 | case "$prev" in
|
---|
8156 | --@(config|password-file|include-from|exclude-from))
|
---|
8157 | _filedir;
|
---|
8158 | return 0
|
---|
8159 | ;;
|
---|
8160 | -@(T|-temp-dir|-compare-dest))
|
---|
8161 | _filedir -d;
|
---|
8162 | return 0
|
---|
8163 | ;;
|
---|
8164 | -@(e|-rsh))
|
---|
8165 | COMPREPLY=($( compgen -W 'rsh ssh' -- $cur ));
|
---|
8166 | return 0
|
---|
8167 | ;;
|
---|
8168 | esac;
|
---|
8169 | case "$cur" in
|
---|
8170 | -*)
|
---|
8171 | COMPREPLY=($( compgen -W '-v -q -c -a -r -R -b -u -l -L -H \
|
---|
8172 | -p -o -g -D -t -S -n -W -x -B -e -C -I -T -P \
|
---|
8173 | -z -h -4 -6 --verbose --quiet --checksum \
|
---|
8174 | --archive --recursive --relative --backup \
|
---|
8175 | --backup-dir --suffix= --update --links \
|
---|
8176 | --copy-links --copy-unsafe-links --safe-links \
|
---|
8177 | --hard-links --perms --owner --group --devices\
|
---|
8178 | --times --sparse --dry-run --whole-file \
|
---|
8179 | --no-whole-file --one-file-system \
|
---|
8180 | --block-size= --rsh= --rsync-path= \
|
---|
8181 | --cvs-exclude --existing --ignore-existing \
|
---|
8182 | --delete --delete-excluded --delete-after \
|
---|
8183 | --ignore-errors --max-delete= --partial \
|
---|
8184 | --force --numeric-ids --timeout= \
|
---|
8185 | --ignore-times --size-only --modify-window= \
|
---|
8186 | --temp-dir= --compare-dest= --compress \
|
---|
8187 | --exclude= --exclude-from= --include= \
|
---|
8188 | --include-from= --version --daemon --no-detach\
|
---|
8189 | --address= --config= --port= --blocking-io \
|
---|
8190 | --no-blocking-io --stats --progress \
|
---|
8191 | --log-format= --password-file= --bwlimit= \
|
---|
8192 | --write-batch= --read-batch= --help' -- $cur ))
|
---|
8193 | ;;
|
---|
8194 | *:*)
|
---|
8195 | shell=ssh;
|
---|
8196 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
8197 | do
|
---|
8198 | if [[ "${COMP_WORDS[i]}" == -@(e|-rsh) ]]; then
|
---|
8199 | shell=${COMP_WORDS[i+1]};
|
---|
8200 | break;
|
---|
8201 | fi;
|
---|
8202 | done;
|
---|
8203 | if [[ "$shell" == ssh ]]; then
|
---|
8204 | cur=${cur/\\:/:};
|
---|
8205 | userhost=${cur%%?(\\):*};
|
---|
8206 | path=${cur#*:};
|
---|
8207 | path=${path//\\\\\\\\ / };
|
---|
8208 | if [ -z "$path" ]; then
|
---|
8209 | path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null);
|
---|
8210 | fi;
|
---|
8211 | COMPREPLY=($( ssh -o 'Batchmode yes' $userhost command ls -aF1d "$path*" 2>/dev/null | sed -e 's/ /\\\\\\\ /g' -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ));
|
---|
8212 | fi
|
---|
8213 | ;;
|
---|
8214 | *)
|
---|
8215 | _known_hosts -c -a;
|
---|
8216 | _filedir
|
---|
8217 | ;;
|
---|
8218 | esac;
|
---|
8219 | return 0
|
---|
8220 | }
|
---|
8221 | _sbcl ()
|
---|
8222 | {
|
---|
8223 | local cur;
|
---|
8224 | COMPREPLY=();
|
---|
8225 | cur=`_get_cword`;
|
---|
8226 | if [[ "$cur" == -* ]]; then
|
---|
8227 | COMPREPLY=($( compgen -W '--core --noinform --help --version \
|
---|
8228 | --sysinit --userinit --eval --noprint --disable-debugger \
|
---|
8229 | --end-runtime-options --end-toplevel-options ' -- $cur ));
|
---|
8230 | else
|
---|
8231 | _filedir;
|
---|
8232 | fi;
|
---|
8233 | return 0
|
---|
8234 | }
|
---|
8235 | _scp ()
|
---|
8236 | {
|
---|
8237 | local cur userhost path;
|
---|
8238 | local optconfigfile;
|
---|
8239 | COMPREPLY=();
|
---|
8240 | cur=`_get_cword ":"`;
|
---|
8241 | _expand || return 0;
|
---|
8242 | if [[ "$cur" == *:* ]]; then
|
---|
8243 | local IFS='
|
---|
8244 | ';
|
---|
8245 | cur=${cur/\\:/:};
|
---|
8246 | userhost=${cur%%?(\\):*};
|
---|
8247 | path=${cur#*:};
|
---|
8248 | path=${path//\\\\\\\\ / };
|
---|
8249 | if [ -z "$path" ]; then
|
---|
8250 | path=$(ssh -o 'Batchmode yes' $userhost pwd 2>/dev/null);
|
---|
8251 | fi;
|
---|
8252 | COMPREPLY=($( ssh -o 'Batchmode yes' $userhost command ls -aF1d "$path*" 2>/dev/null | sed -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\\\\\\\\\&/g" -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ));
|
---|
8253 | return 0;
|
---|
8254 | fi;
|
---|
8255 | set -- "${COMP_WORDS[@]}";
|
---|
8256 | while [ $# -gt 0 ]; do
|
---|
8257 | if [ "${1:0:2}" = -F ]; then
|
---|
8258 | if [ ${#1} -gt 2 ]; then
|
---|
8259 | optconfigfile="$(dequote "$1")";
|
---|
8260 | else
|
---|
8261 | shift;
|
---|
8262 | [ "$1" ] && optconfigfile="$(dequote "-F$1")";
|
---|
8263 | fi;
|
---|
8264 | break;
|
---|
8265 | fi;
|
---|
8266 | shift;
|
---|
8267 | done;
|
---|
8268 | [[ "$cur" == */* ]] || _known_hosts -c -a "$optconfigfile";
|
---|
8269 | local IFS='
|
---|
8270 | ';
|
---|
8271 | COMPREPLY=("${COMPREPLY[@]}" $( command ls -aF1d $cur* 2>/dev/null | sed -e "s/[][(){}<>\",:;^&\!$=?\`|\\ ']/\\\\&/g" -e 's/[*@|=]$//g' -e 's/[^\/]$/& /g' ));
|
---|
8272 | return 0
|
---|
8273 | }
|
---|
8274 | _screen ()
|
---|
8275 | {
|
---|
8276 | local cur prev preprev;
|
---|
8277 | COMPREPLY=();
|
---|
8278 | cur=`_get_cword`;
|
---|
8279 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8280 | [ "$COMP_CWORD" -ge 2 ] && preprev=${COMP_WORDS[COMP_CWORD-2]};
|
---|
8281 | if [ "$preprev" = "-d" -o "$preprev" = "-D" -a "$prev" = "-r" -o "$prev" = "-R" ]; then
|
---|
8282 | COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*$|\1|p' ));
|
---|
8283 | else
|
---|
8284 | case "$prev" in
|
---|
8285 | -[rR])
|
---|
8286 | COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*Detached.*$|\1|p' ))
|
---|
8287 | ;;
|
---|
8288 | -[dDx])
|
---|
8289 | COMPREPLY=($( command screen -ls | sed -ne 's|^['' '']\+\('$cur'[0-9]\+\.[^'' '']\+\).*Attached.*$|\1|p' ))
|
---|
8290 | ;;
|
---|
8291 | -s)
|
---|
8292 | COMPREPLY=($( grep ^${cur:-[^#]} /etc/shells ))
|
---|
8293 | ;;
|
---|
8294 | *)
|
---|
8295 |
|
---|
8296 | ;;
|
---|
8297 | esac;
|
---|
8298 | fi;
|
---|
8299 | return 0
|
---|
8300 | }
|
---|
8301 | _service ()
|
---|
8302 | {
|
---|
8303 | local cur sysvdir;
|
---|
8304 | COMPREPLY=();
|
---|
8305 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8306 | cur=`_get_cword`;
|
---|
8307 | [[ ${COMP_WORDS[0]} != @(*init.d/!(functions|~)|service) ]] && return 0;
|
---|
8308 | [ $COMP_CWORD -gt 2 ] && return 0;
|
---|
8309 | [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d;
|
---|
8310 | if [[ $COMP_CWORD -eq 1 ]] && [[ $prev == "service" ]]; then
|
---|
8311 | _services;
|
---|
8312 | else
|
---|
8313 | COMPREPLY=($( compgen -W '`sed -ne "y/|/ /; \
|
---|
8314 | s/^.*Usage.*{\(.*\)}.*$/\1/p" \
|
---|
8315 | $sysvdir/${prev##*/} 2>/dev/null`' -- $cur ));
|
---|
8316 | fi;
|
---|
8317 | return 0
|
---|
8318 | }
|
---|
8319 | _services ()
|
---|
8320 | {
|
---|
8321 | local sysvdir famdir;
|
---|
8322 | [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d;
|
---|
8323 | famdir=/etc/xinetd.d;
|
---|
8324 | COMPREPLY=($( builtin echo $sysvdir/!(*.rpm@(orig|new|save)|*~|functions)));
|
---|
8325 | if [ -d $famdir ]; then
|
---|
8326 | COMPREPLY=("${COMPREPLY[@]}" $( builtin echo $famdir/!(*.rpm@(orig|new|save)|*~)));
|
---|
8327 | fi;
|
---|
8328 | COMPREPLY=($( compgen -W '${COMPREPLY[@]#@($sysvdir|$famdir)/}' -- $cur ))
|
---|
8329 | }
|
---|
8330 | _signals ()
|
---|
8331 | {
|
---|
8332 | local i;
|
---|
8333 | COMPREPLY=($( compgen -A signal SIG${cur#-} ));
|
---|
8334 | for ((i=0; i < ${#COMPREPLY[@]}; i++ ))
|
---|
8335 | do
|
---|
8336 | COMPREPLY[i]=-${COMPREPLY[i]#SIG};
|
---|
8337 | done
|
---|
8338 | }
|
---|
8339 | _sitecopy ()
|
---|
8340 | {
|
---|
8341 | local cur;
|
---|
8342 | COMPREPLY=();
|
---|
8343 | cur=`_get_cword`;
|
---|
8344 | case "$cur" in
|
---|
8345 | --*)
|
---|
8346 | COMPREPLY=($( compgen -W "$(sitecopy -h | grep -e '--\w' | awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- $cur ))
|
---|
8347 | ;;
|
---|
8348 | -*)
|
---|
8349 | COMPREPLY=($( compgen -W "$(sitecopy -h | grep -e '-\w' | awk '{sub (",", "", $1); print $1}')" -- $cur ))
|
---|
8350 | ;;
|
---|
8351 | *)
|
---|
8352 | if [ -r ~/.sitecopyrc ]; then
|
---|
8353 | COMPREPLY=($( compgen -W "$(grep '^["$'\t '"]*site' ~/.sitecopyrc | awk '{print $2}')" -- $cur ));
|
---|
8354 | fi
|
---|
8355 | ;;
|
---|
8356 | esac;
|
---|
8357 | return 0
|
---|
8358 | }
|
---|
8359 | _snarf ()
|
---|
8360 | {
|
---|
8361 | local cur;
|
---|
8362 | COMPREPLY=();
|
---|
8363 | cur=`_get_cword`;
|
---|
8364 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8365 | case "$prev" in
|
---|
8366 | -i)
|
---|
8367 | _interfaces;
|
---|
8368 | return 0
|
---|
8369 | ;;
|
---|
8370 | esac;
|
---|
8371 | if [[ "$cur" == -* ]]; then
|
---|
8372 | COMPREPLY=($( compgen -W '-i -v' -- $cur ));
|
---|
8373 | fi
|
---|
8374 | }
|
---|
8375 | _snownews ()
|
---|
8376 | {
|
---|
8377 | local cur;
|
---|
8378 | COMPREPLY=();
|
---|
8379 | cur=`_get_cword`;
|
---|
8380 | if [[ "$cur" == -* ]]; then
|
---|
8381 | COMPREPLY=($( compgen -W '--update --help --version \
|
---|
8382 | --disable-versioncheck -u -h -V' -- $cur));
|
---|
8383 | fi
|
---|
8384 | }
|
---|
8385 | _ssh ()
|
---|
8386 | {
|
---|
8387 | local cur prev;
|
---|
8388 | local optconfigfile;
|
---|
8389 | local -a config;
|
---|
8390 | COMPREPLY=();
|
---|
8391 | cur=`_get_cword`;
|
---|
8392 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8393 | case "$prev" in
|
---|
8394 | -F)
|
---|
8395 | _filedir
|
---|
8396 | ;;
|
---|
8397 | -*c)
|
---|
8398 | COMPREPLY=($( compgen -W 'blowfish 3des 3des-cbc blowfish-cbc \
|
---|
8399 | arcfour cast128-cbc' -- $cur ))
|
---|
8400 | ;;
|
---|
8401 | -*i)
|
---|
8402 | _filedir
|
---|
8403 | ;;
|
---|
8404 | -*l)
|
---|
8405 | COMPREPLY=($( compgen -u -- $cur ))
|
---|
8406 | ;;
|
---|
8407 | *)
|
---|
8408 | set -- "${COMP_WORDS[@]}";
|
---|
8409 | while [ $# -gt 0 ]; do
|
---|
8410 | if [ "${1:0:2}" = -F ]; then
|
---|
8411 | if [ ${#1} -gt 2 ]; then
|
---|
8412 | optconfigfile="$(dequote "$1")";
|
---|
8413 | else
|
---|
8414 | shift;
|
---|
8415 | [ "$1" ] && optconfigfile="$(dequote "-F$1")";
|
---|
8416 | fi;
|
---|
8417 | break;
|
---|
8418 | fi;
|
---|
8419 | shift;
|
---|
8420 | done;
|
---|
8421 | _known_hosts -a "$optconfigfile";
|
---|
8422 | [ $COMP_CWORD -eq 1 -o -n "$optconfigfile" ] || COMPREPLY=("${COMPREPLY[@]}" $( compgen -c -- $cur ))
|
---|
8423 | ;;
|
---|
8424 | esac;
|
---|
8425 | return 0
|
---|
8426 | }
|
---|
8427 | _ssh_copy_id ()
|
---|
8428 | {
|
---|
8429 | local cur prev;
|
---|
8430 | COMPREPLY=();
|
---|
8431 | cur=`_get_cword`;
|
---|
8432 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8433 | case "$prev" in
|
---|
8434 | -*i)
|
---|
8435 | _filedir
|
---|
8436 | ;;
|
---|
8437 | *)
|
---|
8438 | _known_hosts -a;
|
---|
8439 | [ $COMP_CWORD -eq 1 ] || COMPREPLY=("${COMPREPLY[@]}" $( compgen -- $cur ))
|
---|
8440 | ;;
|
---|
8441 | esac;
|
---|
8442 | return 0
|
---|
8443 | }
|
---|
8444 | _sshmitm ()
|
---|
8445 | {
|
---|
8446 | local cur;
|
---|
8447 | COMPREPLY=();
|
---|
8448 | cur=`_get_cword`;
|
---|
8449 | if [[ "$cur" == -* ]]; then
|
---|
8450 | COMPREPLY=($( compgen -W '-d -I -p' -- $cur ));
|
---|
8451 | else
|
---|
8452 | _known_hosts;
|
---|
8453 | fi
|
---|
8454 | }
|
---|
8455 | _sshow ()
|
---|
8456 | {
|
---|
8457 | local cur;
|
---|
8458 | COMPREPLY=();
|
---|
8459 | cur=`_get_cword`;
|
---|
8460 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8461 | case "$prev" in
|
---|
8462 | -i)
|
---|
8463 | _interfaces;
|
---|
8464 | return 0
|
---|
8465 | ;;
|
---|
8466 | esac;
|
---|
8467 | if [[ "$cur" == -* ]]; then
|
---|
8468 | COMPREPLY=($( compgen -W '-d -i' -- $cur ));
|
---|
8469 | fi
|
---|
8470 | }
|
---|
8471 | _svk ()
|
---|
8472 | {
|
---|
8473 | local cur prev commands options command;
|
---|
8474 | COMPREPLY=();
|
---|
8475 | cur=`_get_cword`;
|
---|
8476 | commands='add admin annotate ann blame praise cat checkout co cleanup \
|
---|
8477 | cmerge cm commit ci copy cp delete del remove rm depotmap \
|
---|
8478 | depot describe desc diff di help h ? import info list ls log \
|
---|
8479 | merge mirror mi mkdir move mv ren rename patch propdel pd pdel \
|
---|
8480 | propedit pe pedit propget pg pget proplist pl plist propset ps \
|
---|
8481 | pset pull push resolved revert smerge sm status st stat switch \
|
---|
8482 | sw sync sy update up verify';
|
---|
8483 | if [[ $COMP_CWORD -eq 1 ]]; then
|
---|
8484 | if [[ "$cur" == -* ]]; then
|
---|
8485 | COMPREPLY=($( compgen -W '--version' -- $cur ));
|
---|
8486 | else
|
---|
8487 | COMPREPLY=($( compgen -W "$commands" -- $cur ));
|
---|
8488 | fi;
|
---|
8489 | else
|
---|
8490 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8491 | case $prev in
|
---|
8492 | -@(F|-file|-targets))
|
---|
8493 | _filedir;
|
---|
8494 | return 0
|
---|
8495 | ;;
|
---|
8496 | --encoding)
|
---|
8497 | COMPREPLY=($( compgen -W '$( iconv --list | sed -e "s@//@@;" )' -- "$cur" ));
|
---|
8498 | return 0
|
---|
8499 | ;;
|
---|
8500 | esac;
|
---|
8501 | command=${COMP_WORDS[1]};
|
---|
8502 | if [[ "$cur" == -* ]]; then
|
---|
8503 | case $command in
|
---|
8504 | add)
|
---|
8505 | options=' --non-recursive -N -q --quiet'
|
---|
8506 | ;;
|
---|
8507 | @(blame|annotate|ann|praise))
|
---|
8508 | options='-r --revisions -x --cross'
|
---|
8509 | ;;
|
---|
8510 | cat)
|
---|
8511 | options='-r --revision'
|
---|
8512 | ;;
|
---|
8513 | @(checkout|co))
|
---|
8514 | options='-r --revision -q --quiet -N \
|
---|
8515 | --non-recursive -l --list -d \
|
---|
8516 | --detach --export --relocate \
|
---|
8517 | --purge'
|
---|
8518 | ;;
|
---|
8519 | cleanup)
|
---|
8520 | options='-a --all'
|
---|
8521 | ;;
|
---|
8522 | @(cmerge|cm))
|
---|
8523 | options='-c --change -l --log -r \
|
---|
8524 | --revision -a --auto \
|
---|
8525 | --verbatim --no-ticket -m \
|
---|
8526 | --message -F --file --template \ --encoding -P --patch -S \
|
---|
8527 | --sign -C --check-only --direct'
|
---|
8528 | ;;
|
---|
8529 | @(commit|ci))
|
---|
8530 | options='--import -m --message -F \
|
---|
8531 | --file --encoding --template \
|
---|
8532 | -P --patch -S --sign -C \
|
---|
8533 | --check-only -N \
|
---|
8534 | --non-recursive --direct'
|
---|
8535 | ;;
|
---|
8536 | @(copy|cp))
|
---|
8537 | options='-r --revision -p --parent -q \
|
---|
8538 | --quiet -m --message -F --file \
|
---|
8539 | --template --encoding -P \
|
---|
8540 | --patch -S --sign -C \
|
---|
8541 | --check-only --direct'
|
---|
8542 | ;;
|
---|
8543 | @(delete|del|remove|rm))
|
---|
8544 | options='-k --keep-local -m --message \
|
---|
8545 | -F --file --encoding \
|
---|
8546 | --template -P --patch -S \
|
---|
8547 | --sign -C --check-only --direct'
|
---|
8548 | ;;
|
---|
8549 | @(depotmap|depot))
|
---|
8550 | options='-i --init -l --list -d \
|
---|
8551 | --detach --relocate'
|
---|
8552 | ;;
|
---|
8553 | @(diff|di))
|
---|
8554 | options='-r --revision -s --summarize \
|
---|
8555 | -b --verbose -N --non-recursive'
|
---|
8556 | ;;
|
---|
8557 | import)
|
---|
8558 | options='-f --from-checkout -t \
|
---|
8559 | --to-checkout -m --message -F \
|
---|
8560 | --file --template --encoding \
|
---|
8561 | -P --patch -S --sign -C \
|
---|
8562 | --check-only -N \
|
---|
8563 | --non-recursive --direct'
|
---|
8564 | ;;
|
---|
8565 | @(list|ls))
|
---|
8566 | options='-r --revision -v --verbose -R \
|
---|
8567 | --recursive -d --depth -f \
|
---|
8568 | --full-path'
|
---|
8569 | ;;
|
---|
8570 | log)
|
---|
8571 | options='-r --revision -l --limit -q \
|
---|
8572 | --quiet -x --cross -v --verbose'
|
---|
8573 | ;;
|
---|
8574 | merge)
|
---|
8575 | options='-r --revision -c --change -I \
|
---|
8576 | --incremental -a --auto -l \
|
---|
8577 | --log -s --sync -t --to -f \
|
---|
8578 | --from --verbatim --no-ticket \
|
---|
8579 | --track-rename -m --message \
|
---|
8580 | -F --file --template \
|
---|
8581 | --encoding -P --patch -S \
|
---|
8582 | --sign -C --check-only --direct'
|
---|
8583 | ;;
|
---|
8584 | @(mirror|mi))
|
---|
8585 | options='-l --list -d --detach \
|
---|
8586 | --relocate --recover --unlock \
|
---|
8587 | --upgrade'
|
---|
8588 | ;;
|
---|
8589 | mkdir)
|
---|
8590 | options='-p --parent -m --message -F \
|
---|
8591 | --file --template --encoding \
|
---|
8592 | -P --patch -S --sign -C \
|
---|
8593 | --check-only --direct'
|
---|
8594 | ;;
|
---|
8595 | @(move|mv|rename|ren))
|
---|
8596 | options='-r --revision -p --parent -q \
|
---|
8597 | --quiet -m --message -F --file \
|
---|
8598 | --encoding --template -P \
|
---|
8599 | --patch -S --sign -C \
|
---|
8600 | --check-only --direct'
|
---|
8601 | ;;
|
---|
8602 | patch)
|
---|
8603 | options='--depot'
|
---|
8604 | ;;
|
---|
8605 | @(propdel|propset|pdel|pset|pd|ps))
|
---|
8606 | options='-R --recursive -r --revision \
|
---|
8607 | --revprop -m --message -F \
|
---|
8608 | --file --template --encoding \
|
---|
8609 | -P --patch -S --sign -C \
|
---|
8610 | --check-only -q --quiet \
|
---|
8611 | --direct'
|
---|
8612 | ;;
|
---|
8613 | @(propedit|pedit|pe))
|
---|
8614 | options='-R --recursive -r --revision \
|
---|
8615 | --revprop -m --message -F \
|
---|
8616 | --file --template --encoding \
|
---|
8617 | -P --patch -S --sign -C \
|
---|
8618 | --check-only --direct'
|
---|
8619 | ;;
|
---|
8620 | @(propget|pget|pg))
|
---|
8621 | options='-R --recursive -r --revision \
|
---|
8622 | --revprop --strict'
|
---|
8623 | ;;
|
---|
8624 | @(proplist|plist|pl))
|
---|
8625 | options='-R --recursive -v --verbose \
|
---|
8626 | -r --revision --revprop'
|
---|
8627 | ;;
|
---|
8628 | pull)
|
---|
8629 | options='-a --all -l --lump'
|
---|
8630 | ;;
|
---|
8631 | push)
|
---|
8632 | options='-f --from -l --lump -C \
|
---|
8633 | --check -P --patch -S --sign \
|
---|
8634 | --verbatim'
|
---|
8635 | ;;
|
---|
8636 | resolved)
|
---|
8637 | options='-R --recursive'
|
---|
8638 | ;;
|
---|
8639 | revert)
|
---|
8640 | options='-R --recursive -q --quiet'
|
---|
8641 | ;;
|
---|
8642 | @(smerge|sm))
|
---|
8643 | options='-I --incremental -l --log -B \
|
---|
8644 | --baseless -b --base -s --sync \
|
---|
8645 | -t --to -f --from --verbatim \
|
---|
8646 | --no-ticket --track-rename \
|
---|
8647 | --host --remoterev -m \
|
---|
8648 | --message -F --file --template \
|
---|
8649 | --encoding -P --patch -S \
|
---|
8650 | --sign -C --check-only --direct'
|
---|
8651 | ;;
|
---|
8652 | @(status|stat|st))
|
---|
8653 | options='-q --quiet --no-ignore -N \
|
---|
8654 | --non-recursive -v --verbose'
|
---|
8655 | ;;
|
---|
8656 | @(switch|sw))
|
---|
8657 | options='-r --revision -d --detach -q \
|
---|
8658 | --quiet'
|
---|
8659 | ;;
|
---|
8660 | @(sync|sy))
|
---|
8661 | options='-a --all -s --skipto -t \
|
---|
8662 | --torev'
|
---|
8663 | ;;
|
---|
8664 | @(update|up))
|
---|
8665 | options='-r --revision -N \
|
---|
8666 | --non-recursive -C \
|
---|
8667 | --check-only -s --sync -m \
|
---|
8668 | --merge -q --quiet'
|
---|
8669 | ;;
|
---|
8670 | esac;
|
---|
8671 | options="$options --help -h";
|
---|
8672 | COMPREPLY=($( compgen -W "$options" -- $cur ));
|
---|
8673 | else
|
---|
8674 | case $command in
|
---|
8675 | @(help|h|\?))
|
---|
8676 | COMPREPLY=($( compgen -W "$commands environment commands intro" -- $cur ))
|
---|
8677 | ;;
|
---|
8678 | admin)
|
---|
8679 | COMPREPLY=($( compgen -W 'help \
|
---|
8680 | deltify dump hotcopy \
|
---|
8681 | list-dblogs list-unused-dblogs \
|
---|
8682 | load lstxns recover rmtxns \
|
---|
8683 | setlog verify rmcache' -- $cur ))
|
---|
8684 | ;;
|
---|
8685 | patch)
|
---|
8686 | COMPREPLY=($( compgen -W '--ls --list \
|
---|
8687 | --cat --view --regen \
|
---|
8688 | --regenerate --up --update \
|
---|
8689 | --apply --rm --delete' -- $cur ))
|
---|
8690 | ;;
|
---|
8691 | sync)
|
---|
8692 | COMPREPLY=($( compgen -W "$( svk mirror --list 2>/dev/null | awk '/^\//{print $1}' )" -- $cur ))
|
---|
8693 | ;;
|
---|
8694 | @(co|checkout|push|pull))
|
---|
8695 | if [[ "$cur" == //*/* ]]; then
|
---|
8696 | path=${cur%/*}/;
|
---|
8697 | else
|
---|
8698 | path=//;
|
---|
8699 | fi;
|
---|
8700 | COMPREPLY=($( compgen -W "$( svk list $path 2>/dev/null | sed -e 's|\(.*\)|'$path'\1|')" -- $cur ))
|
---|
8701 | ;;
|
---|
8702 | *)
|
---|
8703 | _filedir
|
---|
8704 | ;;
|
---|
8705 | esac;
|
---|
8706 | fi;
|
---|
8707 | fi;
|
---|
8708 | return 0
|
---|
8709 | }
|
---|
8710 | _sync_members ()
|
---|
8711 | {
|
---|
8712 | local cur prev;
|
---|
8713 | COMPREPLY=();
|
---|
8714 | cur=`_get_cword`;
|
---|
8715 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8716 | case "$prev" in
|
---|
8717 | -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=))
|
---|
8718 | COMPREPLY=($( compgen -W 'y n' -- $cur));
|
---|
8719 | return 0
|
---|
8720 | ;;
|
---|
8721 | -@(d|-file))
|
---|
8722 | _filedir;
|
---|
8723 | return 0
|
---|
8724 | ;;
|
---|
8725 | esac;
|
---|
8726 | if [[ "$cur" == -* ]]; then
|
---|
8727 | COMPREPLY=($( compgen -W '--no-change -n --welcome-msg= -w \
|
---|
8728 | --goodbye-msg= -g --digest= -d --notifyadmin= -a \
|
---|
8729 | -f --file -h --help' -- $cur ));
|
---|
8730 | else
|
---|
8731 | _mailman_lists;
|
---|
8732 | fi
|
---|
8733 | }
|
---|
8734 | _sysctl ()
|
---|
8735 | {
|
---|
8736 | local cur;
|
---|
8737 | COMPREPLY=();
|
---|
8738 | cur=`_get_cword`;
|
---|
8739 | COMPREPLY=($( compgen -W "$(sysctl -N -a 2>/dev/null)" -- $cur ));
|
---|
8740 | return 0
|
---|
8741 | }
|
---|
8742 | _tar ()
|
---|
8743 | {
|
---|
8744 | local cur ext regex tar untar;
|
---|
8745 | COMPREPLY=();
|
---|
8746 | cur=`_get_cword`;
|
---|
8747 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
8748 | COMPREPLY=($( compgen -W 'c t x u r d A' -- $cur ));
|
---|
8749 | return 0;
|
---|
8750 | fi;
|
---|
8751 | case "${COMP_WORDS[1]}" in
|
---|
8752 | ?(-)[cr]*f)
|
---|
8753 | _filedir;
|
---|
8754 | return 0
|
---|
8755 | ;;
|
---|
8756 | +([^IZzJjy])f)
|
---|
8757 | ext='t@(ar?(.@(Z|gz|bz?(2)|lz?(ma)))|gz|bz?(2)|lz?(ma))';
|
---|
8758 | regex='t\(ar\(\.\(Z\|gz\|bz2\?\|lzma\)\)\?\|gz\|bz2\?\|lzma\)'
|
---|
8759 | ;;
|
---|
8760 | *[Zz]*f)
|
---|
8761 | ext='t?(ar.)@(gz|Z)';
|
---|
8762 | regex='t\(ar\.\)\?\(gz\|Z\)'
|
---|
8763 | ;;
|
---|
8764 | *[Ijy]*f)
|
---|
8765 | ext='t?(ar.)bz?(2)';
|
---|
8766 | regex='t\(ar\.\)\?bz2\?'
|
---|
8767 | ;;
|
---|
8768 | *[J]*f)
|
---|
8769 | ext='t?(ar.)lz?(ma)';
|
---|
8770 | regex='t\(ar\.\)\?lzma\?'
|
---|
8771 | ;;
|
---|
8772 | *)
|
---|
8773 | _filedir;
|
---|
8774 | return 0
|
---|
8775 | ;;
|
---|
8776 | esac;
|
---|
8777 | if [[ "$COMP_LINE" == *$ext' ' ]]; then
|
---|
8778 | tar=$( echo "$COMP_LINE" | sed -e 's/^.* \([^ ]*'$regex'\) .*$/\1/' );
|
---|
8779 | untar=t${COMP_WORDS[1]//[^Izjyf]/};
|
---|
8780 | COMPREPLY=($( compgen -W "$( echo $( tar $untar $tar 2>/dev/null ) )" -- "$cur" ));
|
---|
8781 | return 0;
|
---|
8782 | fi;
|
---|
8783 | _filedir "$ext";
|
---|
8784 | return 0
|
---|
8785 | }
|
---|
8786 | _tcpdump ()
|
---|
8787 | {
|
---|
8788 | local cur;
|
---|
8789 | COMPREPLY=();
|
---|
8790 | cur=`_get_cword`;
|
---|
8791 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8792 | case "$prev" in
|
---|
8793 | -@(r|w|F))
|
---|
8794 | _filedir;
|
---|
8795 | return 0
|
---|
8796 | ;;
|
---|
8797 | -i)
|
---|
8798 | _available_interfaces -a;
|
---|
8799 | return 0
|
---|
8800 | ;;
|
---|
8801 | esac;
|
---|
8802 | if [[ "$cur" == -* ]]; then
|
---|
8803 | COMPREPLY=($( compgen -W '-a -d -e -f -l -n -N -O -p \
|
---|
8804 | -q -R -S -t -u -v -x -C -F -i -m -r -s -T -w \
|
---|
8805 | -E' -- $cur ));
|
---|
8806 | fi
|
---|
8807 | }
|
---|
8808 | _tcpkill ()
|
---|
8809 | {
|
---|
8810 | local cur;
|
---|
8811 | COMPREPLY=();
|
---|
8812 | cur=`_get_cword`;
|
---|
8813 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8814 | case "$prev" in
|
---|
8815 | -i)
|
---|
8816 | _interfaces;
|
---|
8817 | return 0
|
---|
8818 | ;;
|
---|
8819 | esac;
|
---|
8820 | if [[ "$cur" == -* ]]; then
|
---|
8821 | COMPREPLY=($( compgen -W '-i -1 -2 -3 -4 -5 -6 -7 -8 -9' -- $cur ));
|
---|
8822 | fi
|
---|
8823 | }
|
---|
8824 | _tcpnice ()
|
---|
8825 | {
|
---|
8826 | local cur;
|
---|
8827 | COMPREPLY=();
|
---|
8828 | cur=`_get_cword`;
|
---|
8829 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8830 | case "$prev" in
|
---|
8831 | -i)
|
---|
8832 | _interfaces;
|
---|
8833 | return 0
|
---|
8834 | ;;
|
---|
8835 | esac;
|
---|
8836 | if [[ "$cur" == -* ]]; then
|
---|
8837 | COMPREPLY=($( compgen -W '-A -I -M -i' -- $cur ));
|
---|
8838 | fi
|
---|
8839 | }
|
---|
8840 | _tightvncviewer ()
|
---|
8841 | {
|
---|
8842 | local cur prev;
|
---|
8843 | COMPREPLY=();
|
---|
8844 | cur=`_get_cword`;
|
---|
8845 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8846 | case $prev in
|
---|
8847 | -passwd)
|
---|
8848 | _filedir;
|
---|
8849 | return 0
|
---|
8850 | ;;
|
---|
8851 | -encodings)
|
---|
8852 | COMPREPLY=($( compgen -W 'copyrect tight hextile zlib \
|
---|
8853 | corre rre raw' -- $cur ));
|
---|
8854 | return 0
|
---|
8855 | ;;
|
---|
8856 | -via)
|
---|
8857 | _known_hosts;
|
---|
8858 | return 0
|
---|
8859 | ;;
|
---|
8860 | esac;
|
---|
8861 | if [[ "$cur" == -* ]]; then
|
---|
8862 | COMPREPLY=($( compgen -W '-help -listen -via -shared -noshared\
|
---|
8863 | -viewonly -fullscreen -noraiseonbeep -passwd -encodings\
|
---|
8864 | -bgr233 -owncmap -truecolour -truecolor -depth \
|
---|
8865 | -compresslevel -quality -nojpeg -nocursorshape \
|
---|
8866 | -x11cursor' -- $cur ));
|
---|
8867 | else
|
---|
8868 | _known_hosts;
|
---|
8869 | fi
|
---|
8870 | }
|
---|
8871 | _ufw ()
|
---|
8872 | {
|
---|
8873 | cur=${COMP_WORDS[COMP_CWORD]};
|
---|
8874 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
8875 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
8876 | COMPREPLY=($( compgen -W "$(_ufw_commands)" $cur ));
|
---|
8877 | else
|
---|
8878 | if [ $COMP_CWORD -eq 2 ]; then
|
---|
8879 | case "$prev" in
|
---|
8880 | app)
|
---|
8881 | COMPREPLY=($( compgen -W "$(_ufw_app_commands)" $cur ))
|
---|
8882 | ;;
|
---|
8883 | status)
|
---|
8884 | COMPREPLY=($( compgen -W "$(_ufw_status_commands)" $cur ))
|
---|
8885 | ;;
|
---|
8886 | delete)
|
---|
8887 | COMPREPLY=($( compgen -W "$(_ufw_rule_commands)" $cur ))
|
---|
8888 | ;;
|
---|
8889 | logging)
|
---|
8890 | COMPREPLY=($( compgen -W "$(_ufw_logging_commands)" $cur ))
|
---|
8891 | ;;
|
---|
8892 | show)
|
---|
8893 | COMPREPLY=($( compgen -W "$(_ufw_show_commands)" $cur ))
|
---|
8894 | ;;
|
---|
8895 | default)
|
---|
8896 | COMPREPLY=($( compgen -W "$(_ufw_default_commands)" $cur ))
|
---|
8897 | ;;
|
---|
8898 | esac;
|
---|
8899 | fi;
|
---|
8900 | fi
|
---|
8901 | }
|
---|
8902 | _ufw_app_commands ()
|
---|
8903 | {
|
---|
8904 | ufw --help | sed -e '1,/^Application profile commands:/d' -e '/^ [^ ]/!d' -e 's/[ \t]\+app[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g'
|
---|
8905 | }
|
---|
8906 | _ufw_commands ()
|
---|
8907 | {
|
---|
8908 | commands=$(ufw --help | sed -e '1,/^Commands:/d' -e '/^Application profile commands:/Q' -e 's/^[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g' -e 's/|/ /g' | uniq);
|
---|
8909 | echo "$commands app"
|
---|
8910 | }
|
---|
8911 | _ufw_default_commands ()
|
---|
8912 | {
|
---|
8913 | echo "allow deny reject"
|
---|
8914 | }
|
---|
8915 | _ufw_logging_commands ()
|
---|
8916 | {
|
---|
8917 | echo "off on low medium high full"
|
---|
8918 | }
|
---|
8919 | _ufw_rule_commands ()
|
---|
8920 | {
|
---|
8921 | echo "`_ufw_default_commands` limit"
|
---|
8922 | }
|
---|
8923 | _ufw_show_commands ()
|
---|
8924 | {
|
---|
8925 | echo "raw"
|
---|
8926 | }
|
---|
8927 | _ufw_status_commands ()
|
---|
8928 | {
|
---|
8929 | echo "numbered verbose"
|
---|
8930 | }
|
---|
8931 | _uids ()
|
---|
8932 | {
|
---|
8933 | if type getent &>/dev/null; then
|
---|
8934 | COMPREPLY=($( getent passwd | awk -F: '{if ($3 ~ /^'$cur'/) print $3}' ));
|
---|
8935 | else
|
---|
8936 | if type perl &>/dev/null; then
|
---|
8937 | COMPREPLY=($( compgen -W '$( perl -e '"'"'while (($uid) = (getpwent)[2]) { print $uid . "\n" }'"'"' )' -- $cur ));
|
---|
8938 | else
|
---|
8939 | COMPREPLY=($( awk 'BEGIN {FS=":"} {if ($3 ~ /^'$cur'/) print $3}' /etc/passwd ));
|
---|
8940 | fi;
|
---|
8941 | fi
|
---|
8942 | }
|
---|
8943 | _umount ()
|
---|
8944 | {
|
---|
8945 | local cur IFS='
|
---|
8946 | ';
|
---|
8947 | COMPREPLY=();
|
---|
8948 | cur=`_get_cword`;
|
---|
8949 | COMPREPLY=($( compgen -W '$( mount | cut -d" " -f 3 )' -- $cur ));
|
---|
8950 | return 0
|
---|
8951 | }
|
---|
8952 | _unace ()
|
---|
8953 | {
|
---|
8954 | local cur;
|
---|
8955 | COMPREPLY=();
|
---|
8956 | cur=`_get_cword`;
|
---|
8957 | case "$cur" in
|
---|
8958 | -*)
|
---|
8959 | COMPREPLY=($( compgen -W '-c -c- -f -f- -o -o- -p -y -y-' -- $cur ))
|
---|
8960 | ;;
|
---|
8961 | *)
|
---|
8962 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
8963 | COMPREPLY=($( compgen -W 'e l t v x' -- $cur ));
|
---|
8964 | else
|
---|
8965 | _filedir '@(ace|ACE)';
|
---|
8966 | fi
|
---|
8967 | ;;
|
---|
8968 | esac;
|
---|
8969 | return 0
|
---|
8970 | }
|
---|
8971 | _unrar ()
|
---|
8972 | {
|
---|
8973 | local cur;
|
---|
8974 | COMPREPLY=();
|
---|
8975 | cur=`_get_cword`;
|
---|
8976 | case "$cur" in
|
---|
8977 | -*)
|
---|
8978 | COMPREPLY=($( compgen -W '-ad -ap -av- -c- -cfg- -cl -cu \
|
---|
8979 | -dh -ep -f -idp -ierr -inul -kb -o+ -o- -ow -p -p- -r -ta \
|
---|
8980 | -tb -tn -to -u -v -ver -vp -x -x@ -y' -- $cur ))
|
---|
8981 | ;;
|
---|
8982 | *)
|
---|
8983 | if [ $COMP_CWORD -eq 1 ]; then
|
---|
8984 | COMPREPLY=($( compgen -W 'e l lb lt p t v vb vt x' -- $cur ));
|
---|
8985 | else
|
---|
8986 | _filedir '@(rar|RAR)';
|
---|
8987 | fi
|
---|
8988 | ;;
|
---|
8989 | esac;
|
---|
8990 | return 0
|
---|
8991 | }
|
---|
8992 | _unshunt ()
|
---|
8993 | {
|
---|
8994 | local cur;
|
---|
8995 | COMPREPLY=();
|
---|
8996 | cur=`_get_cword`;
|
---|
8997 | if [[ "$cur" == -* ]]; then
|
---|
8998 | COMPREPLY=($( compgen -W '-h --help' -- $cur ));
|
---|
8999 | else
|
---|
9000 | _filedir -d;
|
---|
9001 | fi
|
---|
9002 | }
|
---|
9003 | _update_alternatives ()
|
---|
9004 | {
|
---|
9005 | local cur prev mode args i;
|
---|
9006 | COMPREPLY=();
|
---|
9007 | cur=`_get_cword`;
|
---|
9008 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
9009 | case "$prev" in
|
---|
9010 | --@(altdir|admindir))
|
---|
9011 | _filedir -d;
|
---|
9012 | return 0
|
---|
9013 | ;;
|
---|
9014 | --@(help|version))
|
---|
9015 | return 0
|
---|
9016 | ;;
|
---|
9017 | esac;
|
---|
9018 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
9019 | do
|
---|
9020 | if [[ "${COMP_WORDS[i]}" == --@(install|remove|auto|display|config|remove-all) ]]; then
|
---|
9021 | mode=${COMP_WORDS[i]};
|
---|
9022 | args=$(($COMP_CWORD - i));
|
---|
9023 | break;
|
---|
9024 | fi;
|
---|
9025 | done;
|
---|
9026 | case $mode in
|
---|
9027 | --install)
|
---|
9028 | case $args in
|
---|
9029 | 1)
|
---|
9030 | _filedir
|
---|
9031 | ;;
|
---|
9032 | 2)
|
---|
9033 | installed_alternatives
|
---|
9034 | ;;
|
---|
9035 | 3)
|
---|
9036 | _filedir
|
---|
9037 | ;;
|
---|
9038 | esac
|
---|
9039 | ;;
|
---|
9040 | --remove)
|
---|
9041 | case $args in
|
---|
9042 | 1)
|
---|
9043 | installed_alternatives
|
---|
9044 | ;;
|
---|
9045 | 2)
|
---|
9046 | _filedir
|
---|
9047 | ;;
|
---|
9048 | esac
|
---|
9049 | ;;
|
---|
9050 | --auto)
|
---|
9051 | installed_alternatives
|
---|
9052 | ;;
|
---|
9053 | --remove-all)
|
---|
9054 | installed_alternatives
|
---|
9055 | ;;
|
---|
9056 | --display)
|
---|
9057 | installed_alternatives
|
---|
9058 | ;;
|
---|
9059 | --config)
|
---|
9060 | installed_alternatives
|
---|
9061 | ;;
|
---|
9062 | *)
|
---|
9063 | COMPREPLY=($( compgen -W '--verbose --quiet --help --version \
|
---|
9064 | --altdir --admindir' -- $cur ) $( compgen -W '--install --remove --auto --display \
|
---|
9065 | --config' -- $cur ))
|
---|
9066 | ;;
|
---|
9067 | esac
|
---|
9068 | }
|
---|
9069 | _update_rc_d ()
|
---|
9070 | {
|
---|
9071 | local cur prev sysvdir services options valid_options;
|
---|
9072 | cur=`_get_cword`;
|
---|
9073 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
9074 | [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d || sysvdir=/etc/init.d;
|
---|
9075 | services=($(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))));
|
---|
9076 | services=(${services[@]#$sysvdir/});
|
---|
9077 | options=(-f -n);
|
---|
9078 | if [[ $COMP_CWORD -eq 1 || "$prev" == -* ]]; then
|
---|
9079 | valid_options=($( echo "${COMP_WORDS[@]} ${options[@]}" | tr " " "\n" | sed -ne "/$( echo "${options[@]}" | sed "s/ /\\|/g" )/p" | sort | uniq -u ));
|
---|
9080 | COMPREPLY=($( compgen -W '${options[@]} ${services[@]}' -X '$( echo ${COMP_WORDS[@]} | tr " " "|" )' -- $cur ));
|
---|
9081 | else
|
---|
9082 | if [[ "$prev" == ?($( echo ${services[@]} | tr " " "|" )) ]]; then
|
---|
9083 | COMPREPLY=($( compgen -W 'remove defaults start stop' -- $cur ));
|
---|
9084 | else
|
---|
9085 | if [[ "$prev" == defaults && "$cur" == [0-9] ]]; then
|
---|
9086 | COMPREPLY=(0 1 2 3 4 5 6 7 8 9);
|
---|
9087 | else
|
---|
9088 | if [[ "$prev" == defaults && "$cur" == [sk]?([0-9]) ]]; then
|
---|
9089 | COMPREPLY=(0 1 2 3 4 5 6 7 8 9);
|
---|
9090 | else
|
---|
9091 | if [[ "$prev" == defaults && -z "$cur" ]]; then
|
---|
9092 | COMPREPLY=(0 1 2 3 4 5 6 7 8 9 s k);
|
---|
9093 | else
|
---|
9094 | if [[ "$prev" == ?(start|stop) ]]; then
|
---|
9095 | if [[ "$cur" == [0-9] || -z "$cur" ]]; then
|
---|
9096 | COMPREPLY=(0 1 2 3 4 5 6 7 8 9);
|
---|
9097 | else
|
---|
9098 | if [[ "$cur" == [0-9][0-9] ]]; then
|
---|
9099 | COMPREPLY=($cur);
|
---|
9100 | else
|
---|
9101 | COMPREPLY=();
|
---|
9102 | fi;
|
---|
9103 | fi;
|
---|
9104 | else
|
---|
9105 | if [[ "$prev" == ?([0-9][0-9]|[0-6S]) ]]; then
|
---|
9106 | if [[ -z "$cur" ]]; then
|
---|
9107 | if [[ $prev == [0-9][0-9] ]]; then
|
---|
9108 | COMPREPLY=(0 1 2 3 4 5 6 S);
|
---|
9109 | else
|
---|
9110 | COMPREPLY=(0 1 2 3 4 5 6 S .);
|
---|
9111 | fi;
|
---|
9112 | else
|
---|
9113 | if [[ "$cur" == [0-6S.] ]]; then
|
---|
9114 | COMPREPLY=($cur);
|
---|
9115 | else
|
---|
9116 | COMPREPLY=();
|
---|
9117 | fi;
|
---|
9118 | fi;
|
---|
9119 | else
|
---|
9120 | if [[ "$prev" == "." ]]; then
|
---|
9121 | COMPREPLY=($(compgen -W "start stop" -- $cur));
|
---|
9122 | else
|
---|
9123 | COMPREPLY=();
|
---|
9124 | fi;
|
---|
9125 | fi;
|
---|
9126 | fi;
|
---|
9127 | fi;
|
---|
9128 | fi;
|
---|
9129 | fi;
|
---|
9130 | fi;
|
---|
9131 | fi;
|
---|
9132 | return 0
|
---|
9133 | }
|
---|
9134 | _urlsnarf ()
|
---|
9135 | {
|
---|
9136 | local cur;
|
---|
9137 | COMPREPLY=();
|
---|
9138 | cur=`_get_cword`;
|
---|
9139 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
9140 | case "$prev" in
|
---|
9141 | -i)
|
---|
9142 | _interfaces;
|
---|
9143 | return 0
|
---|
9144 | ;;
|
---|
9145 | esac;
|
---|
9146 | if [[ "$cur" == -* ]]; then
|
---|
9147 | COMPREPLY=($( compgen -W '-n -i -v' -- $cur ));
|
---|
9148 | fi
|
---|
9149 | }
|
---|
9150 | _usb_ids ()
|
---|
9151 | {
|
---|
9152 | COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$( lsusb | awk '{print $6}')" -- $cur ))
|
---|
9153 | }
|
---|
9154 | _user_at_host ()
|
---|
9155 | {
|
---|
9156 | local cur;
|
---|
9157 | COMPREPLY=();
|
---|
9158 | cur=`_get_cword`;
|
---|
9159 | if [[ $cur == *@* ]]; then
|
---|
9160 | _known_hosts;
|
---|
9161 | else
|
---|
9162 | COMPREPLY=($( compgen -u -- "$cur" ));
|
---|
9163 | fi;
|
---|
9164 | return 0
|
---|
9165 | }
|
---|
9166 | _usergroup ()
|
---|
9167 | {
|
---|
9168 | local IFS='
|
---|
9169 | ';
|
---|
9170 | cur=${cur//\\\\ / };
|
---|
9171 | if [[ $cur = *@(\\:|.)* ]] && [ -n "$bash205" ]; then
|
---|
9172 | user=${cur%%*([^:.])};
|
---|
9173 | COMPREPLY=($(compgen -P ${user/\\\\} -g -- ${cur##*[.:]}));
|
---|
9174 | else
|
---|
9175 | if [[ $cur = *:* ]] && [ -n "$bash205" ]; then
|
---|
9176 | COMPREPLY=($( compgen -g -- ${cur##*[.:]} ));
|
---|
9177 | else
|
---|
9178 | COMPREPLY=($( compgen -S : -u -- $cur ));
|
---|
9179 | fi;
|
---|
9180 | fi
|
---|
9181 | }
|
---|
9182 | _vncviewer_bootstrap ()
|
---|
9183 | {
|
---|
9184 | local fname;
|
---|
9185 | case "$(_realcommand vncviewer)" in
|
---|
9186 | '')
|
---|
9187 | _filedir `_get_cword`
|
---|
9188 | ;;
|
---|
9189 | *xvnc4viewer)
|
---|
9190 | fname=_xvnc4viewer
|
---|
9191 | ;;
|
---|
9192 | *tightvncviewer | *)
|
---|
9193 | fname=_tightvncviewer
|
---|
9194 | ;;
|
---|
9195 | esac;
|
---|
9196 | if [ $fname ]; then
|
---|
9197 | complete -F $fname vncviewer;
|
---|
9198 | $fname;
|
---|
9199 | unset -f _vncviewer_bootstrap;
|
---|
9200 | fi
|
---|
9201 | }
|
---|
9202 | _webmitm ()
|
---|
9203 | {
|
---|
9204 | local cur;
|
---|
9205 | COMPREPLY=();
|
---|
9206 | cur=`_get_cword`;
|
---|
9207 | if [[ "$cur" == -* ]]; then
|
---|
9208 | COMPREPLY=($( compgen -W '-d' -- $cur ));
|
---|
9209 | else
|
---|
9210 | _known_hosts;
|
---|
9211 | fi
|
---|
9212 | }
|
---|
9213 | _withlist ()
|
---|
9214 | {
|
---|
9215 | local cur;
|
---|
9216 | COMPREPLY=();
|
---|
9217 | cur=`_get_cword`;
|
---|
9218 | if [[ "$cur" == -* ]]; then
|
---|
9219 | COMPREPLY=($( compgen -W '-l --lock -i --interactive \
|
---|
9220 | -r --run -a --all -q --quiet -h --help' -- $cur ));
|
---|
9221 | else
|
---|
9222 | _mailman_lists;
|
---|
9223 | fi
|
---|
9224 | }
|
---|
9225 | _xvnc4viewer ()
|
---|
9226 | {
|
---|
9227 | local cur prev;
|
---|
9228 | COMPREPLY=();
|
---|
9229 | cur=`_get_cword`;
|
---|
9230 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
9231 | case ${prev/#--/-} in
|
---|
9232 | -[pP][aA][sS][sS][wW][dD] | -[pP][aA][sS][sS][wW][oO][rR][dD][fF][iI][lL][eE])
|
---|
9233 | _filedir;
|
---|
9234 | return 0
|
---|
9235 | ;;
|
---|
9236 | -[pP][rR][eE][fF][eE][rR][rR][eE][dD][eE][nN][cC][oO][dD][iI][nN][gG])
|
---|
9237 | COMPREPLY=($( compgen -W 'zrle hextile raw' -- $cur ));
|
---|
9238 | return 0
|
---|
9239 | ;;
|
---|
9240 | -[vV][iI][aA])
|
---|
9241 | _known_hosts;
|
---|
9242 | return 0
|
---|
9243 | ;;
|
---|
9244 | esac;
|
---|
9245 | if [[ "$cur" == -* || "$cur" == --* ]]; then
|
---|
9246 | local dash options=(AcceptClipboard AutoSelect DebugDelay display DotWhenNoCursor FullColor FullColour FullScreen geometry help listen Log LowColourLevel MenuKey name Parent passwd PasswordFile PointerEventInterval PreferredEncoding SendClipboard SendPrimary Shared UseLocalCursor via ViewOnly WMDecorationHeight WMDecorationWidth ZlibLevel);
|
---|
9247 | [[ "$cur" == --* ]] && dash=-- || dash=-;
|
---|
9248 | if shopt nocasematch 2> /dev/null | grep --color=auto -q ^nocasematch; then
|
---|
9249 | local option oldNoCaseMatch=$(shopt -p nocasematch);
|
---|
9250 | shopt -s nocasematch;
|
---|
9251 | COMPREPLY=($( for option in "${options[@]}"; do
|
---|
9252 | [[ $dash$option == "$cur"* ]] && echo $dash$option
|
---|
9253 | done ));
|
---|
9254 | eval "$oldNoCaseMatch" 2> /dev/null;
|
---|
9255 | else
|
---|
9256 | COMPREPLY=($( compgen -W "$(
|
---|
9257 | echo ${options[@]/#/$dash} | tr [:upper:] [:lower:]
|
---|
9258 | )" -- "$(echo "$cur" | tr [:upper:] [:lower:])" ));
|
---|
9259 | fi;
|
---|
9260 | else
|
---|
9261 | _known_hosts;
|
---|
9262 | fi
|
---|
9263 | }
|
---|
9264 | _yum ()
|
---|
9265 | {
|
---|
9266 | local cur prev special;
|
---|
9267 | COMPREPLY=();
|
---|
9268 | cur=`_get_cword`;
|
---|
9269 | prev=${COMP_WORDS[COMP_CWORD-1]};
|
---|
9270 | for ((i=0; i < ${#COMP_WORDS[@]}-1; i++ ))
|
---|
9271 | do
|
---|
9272 | if [[ ${COMP_WORDS[i]} == @(install|update|upgrade|remove|erase|deplist|info) ]]; then
|
---|
9273 | special=${COMP_WORDS[i]};
|
---|
9274 | fi;
|
---|
9275 | done;
|
---|
9276 | if [ -n "$special" ]; then
|
---|
9277 | case $special in
|
---|
9278 | install)
|
---|
9279 | _yum_list available;
|
---|
9280 | return 0
|
---|
9281 | ;;
|
---|
9282 | deplist | info)
|
---|
9283 | _yum_list all;
|
---|
9284 | return 0
|
---|
9285 | ;;
|
---|
9286 | upgrade | update)
|
---|
9287 | _yum_list updates;
|
---|
9288 | return 0
|
---|
9289 | ;;
|
---|
9290 | remove | erase)
|
---|
9291 | _yum_list installed;
|
---|
9292 | return 0
|
---|
9293 | ;;
|
---|
9294 | esac;
|
---|
9295 | fi;
|
---|
9296 | case $cur in
|
---|
9297 | --*)
|
---|
9298 | COMPREPLY=($( compgen -W '--installroot --version --help --enablerepo --disablerepo --exclude --obsoletes --noplugins' -- $cur ));
|
---|
9299 | return 0
|
---|
9300 | ;;
|
---|
9301 | -*)
|
---|
9302 | COMPREPLY=($( compgen -W '-c -e -d -y -t -R -C -h' -- $cur ));
|
---|
9303 | return 0
|
---|
9304 | ;;
|
---|
9305 | esac;
|
---|
9306 | case $prev in
|
---|
9307 | list)
|
---|
9308 | COMPREPLY=($( compgen -W 'all available updates installed extras obsoletes recent' -- $cur ))
|
---|
9309 | ;;
|
---|
9310 | clean)
|
---|
9311 | COMPREPLY=($( compgen -W 'packages headers metadata cache dbcache all' -- $cur ))
|
---|
9312 | ;;
|
---|
9313 | localinstall | localupdate)
|
---|
9314 | _filedir rpm
|
---|
9315 | ;;
|
---|
9316 | -c)
|
---|
9317 | _filedir
|
---|
9318 | ;;
|
---|
9319 | --installroot)
|
---|
9320 | _filedir -d
|
---|
9321 | ;;
|
---|
9322 | *)
|
---|
9323 | COMPREPLY=($( compgen -W 'install update check-update upgrade remove list \
|
---|
9324 | search info provides clean groupinstall groupupdate \
|
---|
9325 | grouplist deplist erase groupinfo groupremove \
|
---|
9326 | localinstall localupdate makecache resolvedep \
|
---|
9327 | shell whatprovides' -- $cur ))
|
---|
9328 | ;;
|
---|
9329 | esac
|
---|
9330 | }
|
---|
9331 | _yum_arch ()
|
---|
9332 | {
|
---|
9333 | local cur;
|
---|
9334 | COMPREPLY=();
|
---|
9335 | cur=`_get_cword`;
|
---|
9336 | case "$cur" in
|
---|
9337 | -*)
|
---|
9338 | COMPREPLY=($( compgen -W '-d -v -vv -n -c -z -s -l -q' -- $cur ))
|
---|
9339 | ;;
|
---|
9340 | *)
|
---|
9341 | _filedir -d
|
---|
9342 | ;;
|
---|
9343 | esac;
|
---|
9344 | return 0
|
---|
9345 | }
|
---|
9346 | _yum_list ()
|
---|
9347 | {
|
---|
9348 | if [[ "$1" == all ]]; then
|
---|
9349 | COMPREPLY=($( yum -d 0 -C list $1 "$cur*" 2>/dev/null | grep -iv '^\(Available\|Installed\|Updated\) Packages' | sed -e 's/[[:space:]].*//' ));
|
---|
9350 | else
|
---|
9351 | COMPREPLY=($( yum -d 0 -C list $1 "$cur*" 2>/dev/null | sed -ne 1d -e 's/[[:space:]].*//p' ));
|
---|
9352 | fi
|
---|
9353 | }
|
---|
9354 | command_not_found_handle ()
|
---|
9355 | {
|
---|
9356 | if [ -x /usr/lib/command-not-found ]; then
|
---|
9357 | /usr/bin/python /usr/lib/command-not-found -- $1;
|
---|
9358 | return $?;
|
---|
9359 | else
|
---|
9360 | return 127;
|
---|
9361 | fi
|
---|
9362 | }
|
---|
9363 | dequote ()
|
---|
9364 | {
|
---|
9365 | eval echo "$1"
|
---|
9366 | }
|
---|
9367 | get_entries ()
|
---|
9368 | {
|
---|
9369 | local IFS='
|
---|
9370 | ';
|
---|
9371 | [ -r ${prefix:-}CVS/Entries ] && entries=$(cut -d/ -f2 -s ${prefix:-}CVS/Entries)
|
---|
9372 | }
|
---|
9373 | get_modules ()
|
---|
9374 | {
|
---|
9375 | if [ -n "$prefix" ]; then
|
---|
9376 | COMPREPLY=($( command ls -d ${cvsroot}/${prefix}/!(CVSROOT) ));
|
---|
9377 | else
|
---|
9378 | COMPREPLY=($( command ls -d ${cvsroot}/!(CVSROOT) ));
|
---|
9379 | fi
|
---|
9380 | }
|
---|
9381 | installed_alternatives ()
|
---|
9382 | {
|
---|
9383 | local admindir;
|
---|
9384 | for i in alternatives dpkg/alternatives rpm/alternatives;
|
---|
9385 | do
|
---|
9386 | [ -d /var/lib/$i ] && admindir=/var/lib/$i && break;
|
---|
9387 | done;
|
---|
9388 | for ((i=1; i < COMP_CWORD; i++ ))
|
---|
9389 | do
|
---|
9390 | if [[ "${COMP_WORDS[i]}" == --admindir ]]; then
|
---|
9391 | admindir=${COMP_WORDS[i+1]};
|
---|
9392 | break;
|
---|
9393 | fi;
|
---|
9394 | done;
|
---|
9395 | COMPREPLY=($( command ls $admindir | grep "^$cur" ))
|
---|
9396 | }
|
---|
9397 | quote ()
|
---|
9398 | {
|
---|
9399 | echo \'${1//\'/\'\\\'\'}\'
|
---|
9400 | }
|
---|
9401 | quote_readline ()
|
---|
9402 | {
|
---|
9403 | if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then
|
---|
9404 | echo "${1}";
|
---|
9405 | return;
|
---|
9406 | fi;
|
---|
9407 | local t="${1//\\/\\\\}";
|
---|
9408 | echo \'${t//\'/\'\\\'\'}\'
|
---|
9409 | }
|
---|
9410 | ri_get_methods ()
|
---|
9411 | {
|
---|
9412 | local regex;
|
---|
9413 | if [ "$ri_version" = integrated ]; then
|
---|
9414 | if [ -z "$separator" ]; then
|
---|
9415 | regex="(Instance|Class)";
|
---|
9416 | else
|
---|
9417 | if [ "$separator" = "#" ]; then
|
---|
9418 | regex=Instance;
|
---|
9419 | else
|
---|
9420 | regex=Class;
|
---|
9421 | fi;
|
---|
9422 | fi;
|
---|
9423 | COMPREPLY=(${COMPREPLY[@]} "$( ri ${classes[@]} 2>/dev/null | ruby -ane 'if /^'"$regex"' methods:/.../^------------------|^$/ and \
|
---|
9424 | /^ / then print $_.split(/, |,$/).grep(/^[^\[]*$/).join("\n"); \
|
---|
9425 | end' | sort -u )");
|
---|
9426 | else
|
---|
9427 | COMPREPLY=(${COMPREPLY[@]} "$( ruby -W0 $ri_path ${classes[@]} | ruby -ane 'if /^-/.../^-/ and \
|
---|
9428 | ! /^-/ and ! /^ +(class|module): / then \
|
---|
9429 | print $_.split(/, |,$| +/).grep(/^[^\[]*$/).join("\n"); \
|
---|
9430 | end' | sort -u )");
|
---|
9431 | fi;
|
---|
9432 | COMPREPLY=($( compgen $prefix -W '${COMPREPLY[@]}' -- $method ))
|
---|
9433 | }
|
---|
9434 | set_prefix ()
|
---|
9435 | {
|
---|
9436 | [ -z ${prefix:-} ] || prefix=${cur%/*}/;
|
---|
9437 | [ -r ${prefix:-}CVS/Entries ] || prefix=""
|
---|
9438 | }
|
---|
9439 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ cler
|
---|
9440 | No command 'cler' found, did you mean:
|
---|
9441 | Command 'cver' from package 'gplcver' (universe)
|
---|
9442 | Command 'clex' from package 'clex' (universe)
|
---|
9443 | Command 'clear' from package 'ncurses-bin' (main)
|
---|
9444 | cler: command not found
|
---|
9445 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ cker
|
---|
9446 | No command 'cker' found, did you mean:
|
---|
9447 | Command 'cver' from package 'gplcver' (universe)
|
---|
9448 | cker: command not found
|
---|
9449 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ echo $PERL5LIB
|
---|
9450 | /home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
9451 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ echo $PERL5LIBcker[Kler[1Psetudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
9452 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
9453 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
9454 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
9455 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cecho $PERL5LIB[Kcker[Kler[1Psetudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
9456 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cman sudo[K
|
---|
9457 | [?1049h[?1h=
|
---|
9458 | SUDO(8) MAINTENANCE COMMANDS SUDO(8)[m
|
---|
9459 | [m
|
---|
9460 | [1mNAME[0m[m
|
---|
9461 | sudo, sudoedit - execute a command as another user[m
|
---|
9462 | [m
|
---|
9463 | [1mSYNOPSIS[0m[m
|
---|
9464 | [1msudo[0m [[1m-n[0m] [1m-h[0m | [1m-K[0m | [1m-k[0m | [1m-L[0m | [1m-V[0m | [1m-v[0m[m
|
---|
9465 | [m
|
---|
9466 | [1msudo[0m [1m-l[l][0m [[1m-AnS[0m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m] [[1m-U[0m [4musername[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m][m
|
---|
9467 | [[4mcommand[24m][m
|
---|
9468 | [m
|
---|
9469 | [1msudo[0m [[1m-AbEHnPS[0m] [[1m-a[0m [4mauth_type[24m] [[1m-C[0m [4mfd[24m] [[1m-c[0m [4mclass[24m|[4m-[24m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m][m
|
---|
9470 | [[1m-p[0m [4mprompt[24m] [[1m-r[0m [4mrole[24m] [[1m-t[0m [4mtype[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m] [[1mVAR[0m=[4mvalue[24m][m
|
---|
9471 | [[1m-i[0m | [1m-s[0m] [[4mcommand[24m][m
|
---|
9472 | [m
|
---|
9473 | [1msudoedit[0m [[1m-AnS[0m] [[1m-a[0m [4mauth_type[24m] [[1m-C[0m [4mfd[24m] [[1m-c[0m [4mclass[24m|[4m-[24m] [[1m-g[0m [4mgroupname[24m|[4m#gid[24m][m
|
---|
9474 | [[1m-p[0m [4mprompt[24m] [[1m-u[0m [4musername[24m|[4m#uid[24m] file ...[m
|
---|
9475 | [m
|
---|
9476 | [1mDESCRIPTION[0m[m
|
---|
9477 | [1msudo[0m allows a permitted user to execute a [4mcommand[24m as the superuser or[m
|
---|
9478 | another user, as specified in the [4msudoers[24m file. The real and effective[m
|
---|
9479 | uid and gid are set to match those of the target user as specified in[m
|
---|
9480 | the passwd file and the group vector is initialized based on the group[m
|
---|
9481 | [7m Manual page sudo(8) line 1[27m[K
|
---|
9482 | [K file (unless the [1m-P[0m option was specified). If the invoking user is[m
|
---|
9483 | root or if the target user is the same as the invoking user, no[m
|
---|
9484 | password is required. Otherwise, [1msudo[0m requires that users authenticate[m
|
---|
9485 | themselves with a password by default (NOTE: in the default[m
|
---|
9486 | configuration this is the user's password, not the root password).[m
|
---|
9487 | Once a user has been authenticated, a timestamp is updated and the user[m
|
---|
9488 | may then use sudo without a password for a short period of time (15[m
|
---|
9489 | minutes unless overridden in [4msudoers[24m).[m
|
---|
9490 | [m
|
---|
9491 | When invoked as [1msudoedit[0m, the [1m-e[0m option (described below), is implied.[m
|
---|
9492 | [m
|
---|
9493 | [1msudo[0m determines who is an authorized user by consulting the file[m
|
---|
9494 | [4m@sysconfdir@/sudoers[24m. By running [1msudo[0m with the [1m-v[0m option, a user can[m
|
---|
9495 | update the time stamp without running a [4mcommand[24m. The password prompt[m
|
---|
9496 | itself will also time out if the user's password is not entered within[m
|
---|
9497 | 0 minutes (unless overridden via [4msudoers[24m).[m
|
---|
9498 | [m
|
---|
9499 | If a user who is not listed in the [4msudoers[24m file tries to run a command[m
|
---|
9500 | via [1msudo[0m, mail is sent to the proper authorities, as defined at[m
|
---|
9501 | configure time or in the [4msudoers[24m file (defaults to root). Note that[m
|
---|
9502 | the mail will not be sent if an unauthorized user tries to run sudo[m
|
---|
9503 | with the [1m-l[0m or [1m-v[0m option. This allows users to determine for[m
|
---|
9504 | themselves whether or not they are allowed to use [1msudo[0m.[m
|
---|
9505 | [7m Manual page sudo(8) line 26[27m[K
|
---|
9506 | [K[m
|
---|
9507 | If [1msudo[0m is run by root and the SUDO_USER environment variable is set,[m
|
---|
9508 | [1msudo[0m will use this value to determine who the actual user is. This can[m
|
---|
9509 | be used by a user to log commands through sudo even when a root shell[m
|
---|
9510 | has been invoked. It also allows the [1m-e[0m option to remain useful even[m
|
---|
9511 | when being run via a sudo-run script or program. Note however, that[m
|
---|
9512 | the sudoers lookup is still done for root, not the user specified by[m
|
---|
9513 | SUDO_USER.[m
|
---|
9514 | [m
|
---|
9515 | [1msudo[0m can log both successful and unsuccessful attempts (as well as[m
|
---|
9516 | errors) to [4msyslog[24m(3), a log file, or both. By default [1msudo[0m will log[m
|
---|
9517 | via [4msyslog[24m(3) but this is changeable at configure time or via the[m
|
---|
9518 | [4msudoers[24m file.[m
|
---|
9519 | [m
|
---|
9520 | [1mOPTIONS[0m[m
|
---|
9521 | [1msudo[0m accepts the following command line options:[m
|
---|
9522 | [m
|
---|
9523 | -A Normally, if [1msudo[0m requires a password, it will read it from[m
|
---|
9524 | the current terminal. If the [1m-A[0m ([4maskpass[24m) option is[m
|
---|
9525 | specified, a helper program is executed to read the user's[m
|
---|
9526 | password and output the password to the standard output.[m
|
---|
9527 | If the SUDO_ASKPASS environment variable is set, it[m
|
---|
9528 | specifies the path to the helper program. Otherwise, the[m
|
---|
9529 | [7m Manual page sudo(8) line 49[27m[K
|
---|
9530 | [K value specified by the [4maskpass[24m option in [4msudoers[24m(5) is[m
|
---|
9531 | used.[m
|
---|
9532 | [m
|
---|
9533 | -a [4mtype[24m The [1m-a[0m ([4mauthentication[24m [4mtype[24m) option causes [1msudo[0m to use the[m
|
---|
9534 | specified authentication type when validating the user, as[m
|
---|
9535 | allowed by [4m/etc/login.conf[24m. The system administrator may[m
|
---|
9536 | specify a list of sudo-specific authentication methods by[m
|
---|
9537 | adding an "auth-sudo" entry in [4m/etc/login.conf[24m. This[m
|
---|
9538 | option is only available on systems that support BSD[m
|
---|
9539 | authentication.[m
|
---|
9540 | [m
|
---|
9541 | -b The [1m-b[0m ([4mbackground[24m) option tells [1msudo[0m to run the given[m
|
---|
9542 | command in the background. Note that if you use the [1m-b[0m[m
|
---|
9543 | option you cannot use shell job control to manipulate the[m
|
---|
9544 | process.[m
|
---|
9545 | [m
|
---|
9546 | -C [4mfd[24m Normally, [1msudo[0m will close all open file descriptors other[m
|
---|
9547 | than standard input, standard output and standard error.[m
|
---|
9548 | The [1m-C[0m ([4mclose[24m [4mfrom[24m) option allows the user to specify a[m
|
---|
9549 | starting point above the standard error (file descriptor[m
|
---|
9550 | three). Values less than three are not permitted. This[m
|
---|
9551 | option is only available if the administrator has enabled[m
|
---|
9552 | the [4mclosefrom_override[24m option in [4msudoers[24m(5).[m
|
---|
9553 | [7m Manual page sudo(8) line 72[27m[K
|
---|
9554 | [K [KESCESC[KOO[KBB
|
---|
9555 | [K[m
|
---|
9556 | [7m Manual page sudo(8) line 73[27m[K
|
---|
9557 | [K [KESCESC[KOO[KBB
|
---|
9558 | [K -c [4mclass[24m The [1m-c[0m ([4mclass[24m) option causes [1msudo[0m to run the specified[m
|
---|
9559 | [7m Manual page sudo(8) line 74[27m[K
|
---|
9560 | [K [KESCESC[KOO[KBB
|
---|
9561 | [K command with resources limited by the specified login[m
|
---|
9562 | [7m Manual page sudo(8) line 75[27m[K
|
---|
9563 | [K [KESCESC[KOO[KBB
|
---|
9564 | [K class. The [4mclass[24m argument can be either a class name as[m
|
---|
9565 | [7m Manual page sudo(8) line 76[27m[K
|
---|
9566 | [K [KESCESC[KOO[KBB
|
---|
9567 | [K defined in [4m/etc/login.conf[24m, or a single '-' character.[m
|
---|
9568 | [7m Manual page sudo(8) line 77[27m[K
|
---|
9569 | [K [KESCESC[KOO[KBB
|
---|
9570 | [K Specifying a [4mclass[24m of - indicates that the command should[m
|
---|
9571 | [7m Manual page sudo(8) line 78[27m[K
|
---|
9572 | [K [KESCESC[KOO[KBB
|
---|
9573 | [K be run restricted by the default login capabilities for the[m
|
---|
9574 | [7m Manual page sudo(8) line 79[27m[K
|
---|
9575 | [K [KESCESC[KOO[KBB
|
---|
9576 | [K user the command is run as. If the [4mclass[24m argument[m
|
---|
9577 | [7m Manual page sudo(8) line 80[27m[K
|
---|
9578 | [K [KESCESC[KOO[KBB
|
---|
9579 | [K specifies an existing user class, the command must be run[m
|
---|
9580 | [7m Manual page sudo(8) line 81[27m[K
|
---|
9581 | [K [KESCESC[KOO[KBB
|
---|
9582 | [K as root, or the [1msudo[0m command must be run from a shell that[m
|
---|
9583 | [7m Manual page sudo(8) line 82[27m[K
|
---|
9584 | [K [KESCESC[KOO[KBB
|
---|
9585 | [K is already root. This option is only available on systems[m
|
---|
9586 | [7m Manual page sudo(8) line 83[27m[K
|
---|
9587 | [K [KESCESC[KOO[KBB
|
---|
9588 | [K with BSD login classes.[m
|
---|
9589 | [7m Manual page sudo(8) line 84[27m[K
|
---|
9590 | [K [KESCESC[KOO[KBB
|
---|
9591 | [K[m
|
---|
9592 | [7m Manual page sudo(8) line 85[27m[K
|
---|
9593 | [K [KESCESC[KOO[KBB
|
---|
9594 | [K -E The [1m-E[0m ([4mpreserve[24m [4menvironment[24m) option will override the[m
|
---|
9595 | [7m Manual page sudo(8) line 86[27m[K
|
---|
9596 | [K [KESCESC[KOO[KBB
|
---|
9597 | [K [4menv_reset[24m option in [4msudoers[24m(5)). It is only available when[m
|
---|
9598 | [7m Manual page sudo(8) line 87[27m[K
|
---|
9599 | [K [KESCESC[KOO[KBB
|
---|
9600 | [K either the matching command has the SETENV tag or the[m
|
---|
9601 | [7m Manual page sudo(8) line 88[27m[K
|
---|
9602 | [K [KESCESC[KOO[KBB
|
---|
9603 | [K [4msetenv[24m option is set in [4msudoers[24m(5).[m
|
---|
9604 | [7m Manual page sudo(8) line 89[27m[K
|
---|
9605 | [K [KESCESC[KOO[KBB
|
---|
9606 | [K[m
|
---|
9607 | [7m Manual page sudo(8) line 90[27m[K
|
---|
9608 | [K [KESCESC[KOO[KBB
|
---|
9609 | [K -e The [1m-e[0m ([4medit[24m) option indicates that, instead of running a[m
|
---|
9610 | [7m Manual page sudo(8) line 91[27m[K
|
---|
9611 | [K [KESCESC[KOO[KBB
|
---|
9612 | [K command, the user wishes to edit one or more files. In[m
|
---|
9613 | [7m Manual page sudo(8) line 92[27m[K
|
---|
9614 | [K [KESCESC[KOO[KBB
|
---|
9615 | [K lieu of a command, the string "sudoedit" is used when[m
|
---|
9616 | [7m Manual page sudo(8) line 93[27m[K
|
---|
9617 | [K [KESCESC[KOO[KBB
|
---|
9618 | [K consulting the [4msudoers[24m file. If the user is authorized by[m
|
---|
9619 | [7m Manual page sudo(8) line 94[27m[K
|
---|
9620 | [K [KESCESC[KOO[KBB
|
---|
9621 | [K [4msudoers[24m the following steps are taken:[m
|
---|
9622 | [7m Manual page sudo(8) line 95[27m[K
|
---|
9623 | [K [KESCESC[KOO[KBB
|
---|
9624 | [K[m
|
---|
9625 | [7m Manual page sudo(8) line 96[27m[K
|
---|
9626 | [K [KESCESC[KOO[KBB
|
---|
9627 | [K 1. Temporary copies are made of the files to be edited[m
|
---|
9628 | [7m Manual page sudo(8) line 97[27m[K
|
---|
9629 | [K [KESCESC[KOO[KBB
|
---|
9630 | [K with the owner set to the invoking user.[m
|
---|
9631 | [7m Manual page sudo(8) line 98[27m[K
|
---|
9632 | [K [KESCESC[KOO[KBB
|
---|
9633 | [K[m
|
---|
9634 | [7m Manual page sudo(8) line 99[27m[K
|
---|
9635 | [K [KESCESC[KOO[KBB
|
---|
9636 | [K 2. The editor specified by the SUDO_EDITOR, VISUAL or[m
|
---|
9637 | [7m Manual page sudo(8) line 100[27m[K
|
---|
9638 | [K [KESCESC[KOO[KBB
|
---|
9639 | [K EDITOR environment variables is run to edit the[m
|
---|
9640 | [7m Manual page sudo(8) line 101[27m[K
|
---|
9641 | [K [KESCESC[KOO[KBB
|
---|
9642 | [K temporary files. If none of SUDO_EDITOR, VISUAL or[m
|
---|
9643 | [7m Manual page sudo(8) line 102[27m[K
|
---|
9644 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ man 5 sudoers
|
---|
9645 | [?1049h[?1h=
|
---|
9646 | SUDOERS(5) MAINTENANCE COMMANDS SUDOERS(5)[m
|
---|
9647 | [m
|
---|
9648 | [1mNAME[0m[m
|
---|
9649 | sudoers - list of which users may execute what[m
|
---|
9650 | [m
|
---|
9651 | [1mDESCRIPTION[0m[m
|
---|
9652 | The [4msudoers[24m file is composed of two types of entries: aliases[m
|
---|
9653 | (basically variables) and user specifications (which specify who may[m
|
---|
9654 | run what).[m
|
---|
9655 | [m
|
---|
9656 | When multiple entries match for a user, they are applied in order.[m
|
---|
9657 | Where there are multiple matches, the last match is used (which is not[m
|
---|
9658 | necessarily the most specific match).[m
|
---|
9659 | [m
|
---|
9660 | The [4msudoers[24m grammar will be described below in Extended Backus-Naur[m
|
---|
9661 | Form (EBNF). Don't despair if you don't know what EBNF is; it is[m
|
---|
9662 | fairly simple, and the definitions below are annotated.[m
|
---|
9663 | [m
|
---|
9664 | [1mQuick[0m [1mguide[0m [1mto[0m [1mEBNF[0m[m
|
---|
9665 | EBNF is a concise and exact way of describing the grammar of a[m
|
---|
9666 | language. Each EBNF definition is made up of [4mproduction[24m [4mrules[24m. E.g.,[m
|
---|
9667 | [m
|
---|
9668 | symbol ::= definition | alternate1 | alternate2 ...[m
|
---|
9669 | [7m Manual page sudoers(5) line 1[27m[K
|
---|
9670 | [K/[Kss[Kee[Ktt[Kee[Knn[Kvv
|
---|
9671 | [K[1;1HSUDOERS(5) MAINTENANCE COMMANDS SUDOERS(5)[m
|
---|
9672 | [2;1H[m
|
---|
9673 | [3;1H[1mNAME[0m[m
|
---|
9674 | [4;1H sudoers - list of which users may execute what[m
|
---|
9675 | [5;1H[m
|
---|
9676 | [6;1H[1mDESCRIPTION[0m[m
|
---|
9677 | [7;1H The [4msudoers[24m file is composed of two types of entries: aliases[m
|
---|
9678 | [8;1H (basically variables) and user specifications (which specify who may[m
|
---|
9679 | [9;1H run what).[m
|
---|
9680 | [10;1H[m
|
---|
9681 | [11;1H When multiple entries match for a user, they are applied in order.[m
|
---|
9682 | [12;1H Where there are multiple matches, the last match is used (which is not[m
|
---|
9683 | [13;1H necessarily the most specific match).[m
|
---|
9684 | [14;1H[m
|
---|
9685 | [15;1H The [4msudoers[24m grammar will be described below in Extended Backus-Naur[m
|
---|
9686 | [16;1H Form (EBNF). Don't despair if you don't know what EBNF is; it is[m
|
---|
9687 | [17;1H fairly simple, and the definitions below are annotated.[m
|
---|
9688 | [18;1H[m
|
---|
9689 | [19;1H [1mQuick[0m [1mguide[0m [1mto[0m [1mEBNF[0m[m
|
---|
9690 | [20;1H EBNF is a concise and exact way of describing the grammar of a[m
|
---|
9691 | [21;1H language. Each EBNF definition is made up of [4mproduction[24m [4mrules[24m. E.g.,[m
|
---|
9692 | [22;1H[m
|
---|
9693 | [23;1H symbol ::= definition | alternate1 | alternate2 ...[m
|
---|
9694 | [24;1H[1;1HSUDOERS(5) MAINTENANCE COMMANDS SUDOERS(5)[m
|
---|
9695 | [2;1H[m
|
---|
9696 | [3;1H[1mNAME[0m[m
|
---|
9697 | [4;1H sudoers - list of which users may execute what[m
|
---|
9698 | [5;1H[m
|
---|
9699 | [6;1H[1mDESCRIPTION[0m[m
|
---|
9700 | [7;1H The [4msudoers[24m file is composed of two types of entries: aliases[m
|
---|
9701 | [8;1H (basically variables) and user specifications (which specify who may[m
|
---|
9702 | [9;1H run what).[m
|
---|
9703 | [10;1H[m
|
---|
9704 | [11;1H When multiple entries match for a user, they are applied in order.[m
|
---|
9705 | [12;1H Where there are multiple matches, the last match is used (which is not[m
|
---|
9706 | [13;1H necessarily the most specific match).[m
|
---|
9707 | [14;1H[m
|
---|
9708 | [15;1H The [4msudoers[24m grammar will be described below in Extended Backus-Naur[m
|
---|
9709 | [16;1H Form (EBNF). Don't despair if you don't know what EBNF is; it is[m
|
---|
9710 | [17;1H fairly simple, and the definitions below are annotated.[m
|
---|
9711 | [18;1H[m
|
---|
9712 | [19;1H [1mQuick[0m [1mguide[0m [1mto[0m [1mEBNF[0m[m
|
---|
9713 | [20;1H EBNF is a concise and exact way of describing the grammar of a[m
|
---|
9714 | [21;1H language. Each EBNF definition is made up of [4mproduction[24m [4mrules[24m. E.g.,[m
|
---|
9715 | [22;1H[m
|
---|
9716 | [23;1H symbol ::= definition | alternate1 | alternate2 ...[m
|
---|
9717 | [24;1H...skipping...
|
---|
9718 | '[7mSETENV[27m:' | 'NO[7mSETENV[27m:' )[m
|
---|
9719 | [m
|
---|
9720 | A [1muser[0m [1mspecification[0m determines which commands a user may run (and as[m
|
---|
9721 | what user) on specified hosts. By default, commands are run as [1mroot[0m,[m
|
---|
9722 | but this can be changed on a per-command basis.[m
|
---|
9723 | [m
|
---|
9724 | Let's break that down into its constituent parts:[m
|
---|
9725 | [m
|
---|
9726 | [1mRunas_Spec[0m[m
|
---|
9727 | A Runas_Spec determines the user and/or the group that a command may be[m
|
---|
9728 | run as. A fully-specified Runas_Spec consists of two Runas_Lists (as[m
|
---|
9729 | defined above) separated by a colon (':') and enclosed in a set of[m
|
---|
9730 | parentheses. The first Runas_List indicates which users the command[m
|
---|
9731 | may be run as via [1msudo[0m's [1m-u[0m option. The second defines a list of[m
|
---|
9732 | groups that can be specified via [1msudo[0m's [1m-g[0m option. If both Runas_Lists[m
|
---|
9733 | are specified, the command may be run with any combination of users and[m
|
---|
9734 | groups listed in their respective Runas_Lists. If only the first is[m
|
---|
9735 | specified, the command may be run as any user in the list but no [1m-g[0m[m
|
---|
9736 | option may be specified. If the first Runas_List is empty but the[m
|
---|
9737 | second is specified, the command may be run as the invoking user with[m
|
---|
9738 | the group set to any listed in the Runas_List. If no Runas_Spec is[m
|
---|
9739 | specified the command may be run as [1mroot[0m and no group may be specified.[m
|
---|
9740 | [m
|
---|
9741 | [7m Manual page sudoers(5) line 216[27m[K
|
---|
9742 | [K [KESCESC[KOO[KAA
|
---|
9743 | [K[HM Tag_Spec ::= ('NOPASSWD:' | 'PASSWD:' | 'NOEXEC:' | 'EXEC:' |[m
|
---|
9744 | [24;1H
|
---|
9745 | [K[7m Manual page sudoers(5) line 215[27m[K
|
---|
9746 | [K [KESCESC[KOO[KAA
|
---|
9747 | [K[HM[m
|
---|
9748 | [24;1H
|
---|
9749 | [K[7m Manual page sudoers(5) line 214[27m[K
|
---|
9750 | [K [KESCESC[KOO[KAA
|
---|
9751 | [K[HM Runas_Spec ::= '(' Runas_List? (: Runas_List)? ')'[m
|
---|
9752 | [24;1H
|
---|
9753 | [K[7m Manual page sudoers(5) line 213[27m[K
|
---|
9754 | [K [KESCESC[KOO[KAA
|
---|
9755 | [K[HM[m
|
---|
9756 | [24;1H
|
---|
9757 | [K[7m Manual page sudoers(5) line 212[27m[K
|
---|
9758 | [K [KESCESC[KOO[KAA
|
---|
9759 | [K[HM Cmnd_Spec ::= Runas_Spec? Tag_Spec* Cmnd[m
|
---|
9760 | [24;1H
|
---|
9761 | [K[7m Manual page sudoers(5) line 211[27m[K
|
---|
9762 | [K [KESCESC[KOO[KAA
|
---|
9763 | [K[HM[m
|
---|
9764 | [24;1H
|
---|
9765 | [K[7m Manual page sudoers(5) line 210[27m[K
|
---|
9766 | [K [KESCESC[KOO[KAA
|
---|
9767 | [K[HM Cmnd_Spec ',' Cmnd_Spec_List[m
|
---|
9768 | [24;1H
|
---|
9769 | [K[7m Manual page sudoers(5) line 209[27m[K
|
---|
9770 | [K [KESCESC[KOO[KAA
|
---|
9771 | [K[HM Cmnd_Spec_List ::= Cmnd_Spec |[m
|
---|
9772 | [24;1H
|
---|
9773 | [K[7m Manual page sudoers(5) line 208[27m[K
|
---|
9774 | [K [KESCESC[KOO[KAA
|
---|
9775 | [K[HM[m
|
---|
9776 | [24;1H
|
---|
9777 | [K[7m Manual page sudoers(5) line 207[27m[K
|
---|
9778 | [K [KESCESC[KOO[KAA
|
---|
9779 | [K[HM (':' Host_List '=' Cmnd_Spec_List)*[m
|
---|
9780 | [24;1H
|
---|
9781 | [K[7m Manual page sudoers(5) line 206[27m[K
|
---|
9782 | [K/
|
---|
9783 | [K may be run as via [1msudo[0m's [1m-u[0m option. The second defines a list of[m
|
---|
9784 | groups that can be specified via [1msudo[0m's [1m-g[0m option. If both Runas_Lists[m
|
---|
9785 | are specified, the command may be run with any combination of users and[m
|
---|
9786 | groups listed in their respective Runas_Lists. If only the first is[m
|
---|
9787 | specified, the command may be run as any user in the list but no [1m-g[0m[m
|
---|
9788 | option may be specified. If the first Runas_List is empty but the[m
|
---|
9789 | second is specified, the command may be run as the invoking user with[m
|
---|
9790 | the group set to any listed in the Runas_List. If no Runas_Spec is[m
|
---|
9791 | specified the command may be run as [1mroot[0m and no group may be specified.[m
|
---|
9792 | [m
|
---|
9793 | [7m Manual page sudoers(5) line 216[27m[K
|
---|
9794 | [K/
|
---|
9795 | [K...skipping...
|
---|
9796 | eight possible tag values, NOPASSWD, PASSWD, NOEXEC, EXEC, [7mSETENV[27m and[m
|
---|
9797 | NO[7mSETENV[27m. Once a tag is set on a Cmnd, subsequent Cmnds in the[m
|
---|
9798 | Cmnd_Spec_List, inherit the tag unless it is overridden by the opposite[m
|
---|
9799 | tag (i.e.: PASSWD overrides NOPASSWD and NOEXEC overrides EXEC).[m
|
---|
9800 | [m
|
---|
9801 | [4mNOPASSWD[24m [4mand[24m [4mPASSWD[24m[m
|
---|
9802 | [m
|
---|
9803 | By default, [1msudo[0m requires that a user authenticate him or herself[m
|
---|
9804 | before running a command. This behavior can be modified via the[m
|
---|
9805 | NOPASSWD tag. Like a Runas_Spec, the NOPASSWD tag sets a default for[m
|
---|
9806 | the commands that follow it in the Cmnd_Spec_List. Conversely, the[m
|
---|
9807 | PASSWD tag can be used to reverse things. For example:[m
|
---|
9808 | [m
|
---|
9809 | ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm[m
|
---|
9810 | [m
|
---|
9811 | would allow the user [1mray[0m to run [4m/bin/kill[24m, [4m/bin/ls[24m, and [4m/usr/bin/lprm[24m[m
|
---|
9812 | as [1mroot[0m on the machine rushmore without authenticating himself. If we[m
|
---|
9813 | only want [1mray[0m to be able to run [4m/bin/kill[24m without a password the entry[m
|
---|
9814 | would be:[m
|
---|
9815 | [m
|
---|
9816 | ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm[m
|
---|
9817 | [m
|
---|
9818 | Note, however, that the PASSWD tag has no effect on users who are in[m
|
---|
9819 | [7m Manual page sudoers(5) line 272[27m[K
|
---|
9820 | [K [KESCESC[KOO[KAA
|
---|
9821 | [K[HM A command may have zero or more tags associated with it. There are[m
|
---|
9822 | [24;1H
|
---|
9823 | [K[7m Manual page sudoers(5) line 271[27m[K
|
---|
9824 | [K [KESCESC[KOO[KAA
|
---|
9825 | [K[HM [1mTag_Spec[0m[m
|
---|
9826 | [24;1H
|
---|
9827 | [K[7m Manual page sudoers(5) line 270[27m[K
|
---|
9828 | [K [KESCESC[KOO[KAA
|
---|
9829 | [K[HM[m
|
---|
9830 | [24;1H
|
---|
9831 | [K[7m Manual page sudoers(5) line 269[27m[K
|
---|
9832 | [K [KESCESC[KOO[KAA
|
---|
9833 | [K[HM /usr/local/bin/minicom[m
|
---|
9834 | [24;1H
|
---|
9835 | [K[7m Manual page sudoers(5) line 268[27m[K
|
---|
9836 | [K [KESCESC[KOO[KAA
|
---|
9837 | [K[HM tcm boulder = (:dialer) /usr/bin/tip, /usr/bin/cu, \[m
|
---|
9838 | [24;1H
|
---|
9839 | [K[7m Manual page sudoers(5) line 267[27m[K
|
---|
9840 | [K [KESCESC[KOO[KAA
|
---|
9841 | [K[HM[m
|
---|
9842 | [24;1H
|
---|
9843 | [K[7m Manual page sudoers(5) line 266[27m[K
|
---|
9844 | [K/
|
---|
9845 | [K only want [1mray[0m to be able to run [4m/bin/kill[24m without a password the entry[m
|
---|
9846 | would be:[m
|
---|
9847 | [m
|
---|
9848 | ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm[m
|
---|
9849 | [m
|
---|
9850 | Note, however, that the PASSWD tag has no effect on users who are in[m
|
---|
9851 | [7m Manual page sudoers(5) line 272[27m[K
|
---|
9852 | [K/
|
---|
9853 | [K the group specified by the [4mexempt_group[24m option.[m
|
---|
9854 | [7m Manual page sudoers(5) line 273[27m[K
|
---|
9855 | [K/
|
---|
9856 | [K...skipping...
|
---|
9857 | [4m[7mSETENV[27m[24m [4mand[24m [4mNOSETENV[24m[m
|
---|
9858 | [m
|
---|
9859 | These tags override the value of the [4m[7msetenv[27m[24m option on a per-command[m
|
---|
9860 | basis. Note that if [7mSETENV[27m has been set for a command, any environment[m
|
---|
9861 | variables set on the command line way are not subject to the[m
|
---|
9862 | restrictions imposed by [4menv_check[24m, [4menv_delete[24m, or [4menv_keep[24m. As such,[m
|
---|
9863 | only trusted users should be allowed to set variables in this manner.[m
|
---|
9864 | If the command matched is [1mALL[0m, the [7mSETENV[27m tag is implied for that[m
|
---|
9865 | command; this default may be overridden by use of the UN[7mSETENV[27m tag.[m
|
---|
9866 | [m
|
---|
9867 | [1mWildcards[0m[m
|
---|
9868 | [1msudo[0m allows shell-style [4mwildcards[24m (aka meta or glob characters) to be[m
|
---|
9869 | used in hostnames, pathnames and command line arguments in the [4msudoers[24m[m
|
---|
9870 | file. Wildcard matching is done via the [1mPOSIX[0m [4mfnmatch[24m(3) routine.[m
|
---|
9871 | Note that these are [4mnot[24m regular expressions.[m
|
---|
9872 | [m
|
---|
9873 | * Matches any set of zero or more characters.[m
|
---|
9874 | [m
|
---|
9875 | ? Matches any single character.[m
|
---|
9876 | [m
|
---|
9877 | [...] Matches any character in the specified range.[m
|
---|
9878 | [m
|
---|
9879 | [!...] Matches any character [1mnot[0m in the specified range.[m
|
---|
9880 | [7m Manual page sudoers(5) line 318[27m[K
|
---|
9881 | [K [KESCESC[KOO[KAA
|
---|
9882 | [K[HM[m
|
---|
9883 | [24;1H
|
---|
9884 | [K[7m Manual page sudoers(5) line 317[27m[K
|
---|
9885 | [K [KESCESC[KOO[KAA
|
---|
9886 | [K[HM how NOEXEC works and whether or not it will work on your system.[m
|
---|
9887 | [24;1H
|
---|
9888 | [K[7m Manual page sudoers(5) line 316[27m[K
|
---|
9889 | [K [KESCESC[KOO[KAA
|
---|
9890 | [K[HM See the "PREVENTING SHELL ESCAPES" section below for more details on[m
|
---|
9891 | [24;1H
|
---|
9892 | [K[7m Manual page sudoers(5) line 315[27m[K
|
---|
9893 | [K[?1l>[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ man 5 sudoers[5Psudosudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
9894 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cman sudo[K[K[K[K[K[K[K[K[Ksudo vi /[K/etc/sudoers
|
---|
9895 | [?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[m[H[2J[?25l[24;1H"/etc/sudoers" [readonly] 26L, 619C[>c[1;1H[34m# /etc/sudoers
|
---|
9896 | #
|
---|
9897 | # This file MUST be edited with the 'visudo' command as root.
|
---|
9898 | #
|
---|
9899 | # See the man page for details on how to write a sudoers file.
|
---|
9900 | #[m
|
---|
9901 |
|
---|
9902 | [33mDefaults[m[7C [36menv_reset[m
|
---|
9903 |
|
---|
9904 | [34m# Host alias specification
|
---|
9905 |
|
---|
9906 | # User alias specification
|
---|
9907 |
|
---|
9908 | # Cmnd alias specification
|
---|
9909 |
|
---|
9910 | # User privilege specification[m
|
---|
9911 | [31mroot[m [35mALL[m[33m=[m[35m(ALL)[m [35mALL[m
|
---|
9912 | [31mopenflow[m [35mALL[m[33m=[m[35m(ALL)[m [35mNOPASSWD:ALL[m
|
---|
9913 | [31mnetfpga[m [35mALL[m[33m=[m[35m(ALL)[m [35mNOPASSWD:ALL[m
|
---|
9914 | [34m# Uncomment to allow members of group sudo to not need a password
|
---|
9915 | # (Note that later entries override this, so you might need to move
|
---|
9916 | # it further down)
|
---|
9917 | # %sudo ALL=NOPASSWD: ALL[m[24;63H1,1[11CTop[1;1H[?12l[?25hP+q436f\P+q6b75\P+q6b64\P+q6b72\P+q6b6c\P+q2332\P+q2334\P+q2569\P+q2a37\P+q6b31\P+q6b32\[27m[m[H[2J[?25l[1;1H[34m# /etc/sudoers
|
---|
9918 | #
|
---|
9919 | # This file MUST be edited with the 'visudo' command as root.
|
---|
9920 | #
|
---|
9921 | # See the man page for details on how to write a sudoers file.
|
---|
9922 | #[m
|
---|
9923 |
|
---|
9924 | [38;5;130mDefaults[m[7C [36menv_reset[m
|
---|
9925 |
|
---|
9926 | [34m# Host alias specification
|
---|
9927 |
|
---|
9928 | # User alias specification
|
---|
9929 |
|
---|
9930 | # Cmnd alias specification
|
---|
9931 |
|
---|
9932 | # User privilege specification[m
|
---|
9933 | [31mroot[m [35mALL[m[38;5;130m=[m[35m(ALL)[m [35mALL[m
|
---|
9934 | [31mopenflow[m [35mALL[m[38;5;130m=[m[35m(ALL)[m [35mNOPASSWD:ALL[m
|
---|
9935 | [31mnetfpga[m [35mALL[m[38;5;130m=[m[35m(ALL)[m [35mNOPASSWD:ALL[m
|
---|
9936 | [34m# Uncomment to allow members of group sudo to not need a password
|
---|
9937 | # (Note that later entries override this, so you might need to move
|
---|
9938 | # it further down)
|
---|
9939 | # %sudo ALL=NOPASSWD: ALL[m[24;63H1,1[11CTop
|
---|
9940 | "/etc/sudoers" [readonly] 26L, 619C[24;63H[K[24;63H1,1[11CTop[1;1H[?12l[?25hP+q6b33\[?25l[?12l[?25hP+q6b34\P+q6b35\P+q6b36\P+q6b37\P+q6b38\P+q6b39\P+q6b3b\P+q4631\P+q4632\P+q2531\P+q2638\P+q6b62\P+q6b49\P+q6b44\P+q6b68\P+q4037\P+q6b50\P+q6b4e\P+q4b31\P+q4b33\P+q4b34\P+q4b35\P+q6b42\[?25l[24;63H2[2;1H[?12l[?25h[?25l[24;63H3[3;1H[?12l[?25h[?25l[24;63H4[4;1H[?12l[?25h[?25l[24;63H5[5;1H[?12l[?25h[?25l[24;63H6[6;1H[?12l[?25h[?25l[24;63H7,0-1[7;1H[?12l[?25h[?25l[24;63H8,1 [8;1H[?12l[?25h[?25l[24;63H9,0-1[9;1H[?12l[?25h[?25l[24;63H10,1 [10;1H[?12l[?25h[?25l[24;64H1,0-1[11;1H[?12l[?25h[?25l[24;64H2,1 [12;1H[?12l[?25h[?25l[24;64H3,0-1[13;1H[?12l[?25h[?25l[24;64H4,1 [14;1H[?12l[?25h[?25l[24;64H5,0-1[15;1H[?12l[?25h[?25l[24;64H6,1 [16;1H[?12l[?25h[?25l[24;64H7[17;1H[?12l[?25h[?25l[24;64H8[18;1H[?12l[?25h[?25l[24;64H9[19;1H[?12l[?25h[?25l[24;63H20[20;1H[?12l[?25h[?25l[24;64H1[21;1H[?12l[?25h[?25l[24;64H2[22;1H[?12l[?25h[?25l[24;64H3[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9941 | [1;24r[24;1H[K[24;63H24,0-1[8C33%[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9942 | [1;24r[23;1H[34m# Members of the admin group may gain root privileges[m[24;63H[K[24;63H25,1[10C66%[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9943 | [1;24r[23;1H[35m%admin[m [35mALL[m[38;5;130m=[m[35m(ALL)[m [35mALL[m[24;63H[K[24;63H26,1[10CBot[23;1H[?12l[?25h[?25l[24;64H5[22;1H[?12l[?25h[?25l[24;64H4,0-1[21;1H[?12l[?25h[?25l[24;64H3,1 [20;1H[?12l[?25h[?25l[24;64H2[19;1H[?12l[?25h[?25l[24;64H1[18;1H[?12l[?25h[?25l[24;64H0[17;1H[?12l[?25h[?25l[24;63H19[16;1H[?12l[?25h[?25l[24;64H8[15;1H[?12l[?25h[?25l[24;64H7[14;1H[?12l[?25h[?25l[24;64H6[13;1H[?12l[?25h[?25l[24;64H5,0-1[12;1H[?12l[?25h[?25l[24;64H4,1 [11;1H[?12l[?25h[?25l[24;64H3,0-1[10;1H[?12l[?25h[?25l[24;64H2,1 [9;1H[?12l[?25h[?25l[24;64H1,0-1[8;1H[?12l[?25h[?25l[24;64H0,1 [7;1H[?12l[?25h[?25l[24;63H9,0-1[6;1H[?12l[?25h[?25l[24;63H8,1 [5;1H[?12l[?25h[?25l[24;63H7,0-1[4;1H[?12l[?25h[?25l[24;63H6,1 [3;1H[?12l[?25h[?25l[24;63H5[2;1H[?12l[?25h[?25l[24;63H4[1;1H[?12l[?25h[?25l[1;23r[1;1H[L[1;24r[1;1H[34m# This file MUST be edited with the 'visudo' command as root.[m[24;63H[K[24;63H3,1[11C66%[1;1H[?12l[?25h[?25l[1;23r[1;1H[L[1;24r[1;1H[34m#[m[24;63H[K[24;63H2,1[11C33%[1;1H[?12l[?25h[?25l[1;23r[1;1H[L[1;24r[1;1H[34m# /etc/sudoers[m[24;63H[K[24;63H1,1[11CTop[1;1H[?12l[?25h[?25l[24;63H2[2;1H[?12l[?25h[?25l[24;63H3[3;1H[?12l[?25h[?25l[24;63H4[4;1H[?12l[?25h[?25l[24;63H5[5;1H[?12l[?25h[?25l[24;63H6[6;1H[?12l[?25h[?25l[24;63H7,0-1[7;1H[?12l[?25h[?25l[24;63H8,1 [8;1H[?12l[?25h[?25l[24;63H9,0-1[9;1H[?12l[?25h[?25l[24;63H10,1 [10;1H[?12l[?25h[?25l[24;64H1,0-1[11;1H[?12l[?25h[?25l[24;64H2,1 [12;1H[?12l[?25h[?25l[24;64H3,0-1[13;1H[?12l[?25h[?25l[24;64H4,1 [14;1H[?12l[?25h[?25l[24;64H5,0-1[15;1H[?12l[?25h[?25l[24;64H6,1 [16;1H[?12l[?25h[?25l[24;64H7[17;1H[?12l[?25h[?25l[24;64H8[18;1H[?12l[?25h[?25l[24;64H9[19;1H[?12l[?25h[?25l[24;63H20[20;1H[?12l[?25h[?25l[24;64H1[21;1H[?12l[?25h[?25l[24;64H2[22;1H[?12l[?25h[?25l[24;64H3[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9944 | [1;24r[24;63H[K[24;63H24,0-1[8C33%[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9945 | [1;24r[23;1H[34m# Members of the admin group may gain root privileges[m[24;63H[K[24;63H25,1[10C66%[23;1H[?12l[?25h[?25l[1;23r[23;1H
|
---|
9946 | [1;24r[23;1H[35m%admin[m [35mALL[m[38;5;130m=[m[35m(ALL)[m [35mALL[m[24;63H[K[24;63H26,1[10CBot[23;1H[?12l[?25h[?25l[24;63H[K[24;1H:[?12l[?25hq[?25l[?12l[?25h
|
---|
9947 | [?25l[24;1H[K[24;1H[?1l>[?12l[?25h[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo vi /etc/sudoers
|
---|
9948 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Kvi[K[Ksudo visudo
|
---|
9949 | [?1049h[1;24r[4l[m(B[37m[40m[1;24r[H[2J[24;1H[33m[41mloading /usr/share/jed/lib/site.slc[24;28Hmini[24;36H[24;28Hos.sl[37m[40m[K[24;28H[33m[41mmenus.slc[24;28Hdefaults.sl[24;10Hetc/jed.d/05jed-common.sl[37m[40m[K[24;10H[33m[41musr/share/jed/lib/emacs.slc[24;28Hcolors/black3.slc[1m[37m[40m[1;24r[H[2J[24;1H[33mReading[37m [33m/etc/sudoers.tmp
|
---|
9950 | lo[7Cusr/share/jed/lib/textmode.slc[24;28Hmodeinfo[24;40H[1;1H[m(B[37m[44mF10 key ==> [1m[33m[44mF[m(B[37m[44mile [1m[33m[44mE[m(B[37m[44mdit [1m[33m[44mS[m(B[37m[44mearch [1m[33m[44mB[m(B[37m[44muffers W[1m[33m[44mi[m(B[37m[44mndows S[1m[33m[44my[m(B[37m[44mstem [1m[33m[44mH[m(B[37m[44melp[K
|
---|
9951 | [1m[37m[40m# /etc/sudoers
|
---|
9952 | #
|
---|
9953 | # This file MUST be edited with the 'visudo' command as root.
|
---|
9954 | #
|
---|
9955 | # See the man page for details on how to write a sudoers file.
|
---|
9956 | #
|
---|
9957 |
|
---|
9958 | Defaults[8Cenv_reset
|
---|
9959 |
|
---|
9960 | # Host alias specification
|
---|
9961 |
|
---|
9962 | # User alias specification
|
---|
9963 |
|
---|
9964 | # Cmnd alias specification
|
---|
9965 |
|
---|
9966 | # User privilege specification
|
---|
9967 | root ALL=(ALL) ALL
|
---|
9968 | openflow ALL=(ALL) NOPASSWD:ALL
|
---|
9969 | netfpga ALL=(ALL) NOPASSWD:ALL
|
---|
9970 | # Uncomment to allow members of group sudo to not need a password
|
---|
9971 | # (Note that later entries override this, so you might need to move
|
---|
9972 | [33m[44m-------+(Jed 0.99.18U) Emacs: sudoers.tmp (Text) Top 5:33pm---------------[2;1H[24;1H[37m[40m[K[3;1H
|
---|
9973 |
|
---|
9974 |
|
---|
9975 |
|
---|
9976 |
|
---|
9977 |
|
---|
9978 |
|
---|
9979 |
|
---|
9980 |
|
---|
9981 |
|
---|
9982 |
|
---|
9983 |
|
---|
9984 |
|
---|
9985 |
|
---|
9986 |
|
---|
9987 |
|
---|
9988 |
|
---|
9989 | [A[19;1H[19;2H[19;3H[19;4H[19;5H[19;6H[19;7H[19;8H[19;9H[19;10H[19;11H[19;12H[19;13H[19;14H[19;15H[19;16H[19;17H[19;18H[19;19H[19;20H[19;21H[19;22H[19;23H[19;24H[19;25H[19;26H[19;27H[19;28H[19;29H[19;30H[19;31H[19;32H[23;2H[33m[44m**[19;33H[37m[40mSETENV:ALL[20;31H[20;32H[20;33HSEETE[K[K[KTEMV[K[KNVL[K:ALL
|
---|
9990 |
|
---|
9991 |
|
---|
9992 |
|
---|
9993 | [33mloading[37m [33m/usr/share/jed/lib/popups.slc[1;13H[46mF[37mile[23;63H[33m[44m4[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[34m[40mi[5;13H[37m[44m│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[34m[40mt[7;13H[37m[44m│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40mspecification[24;1H[1m[37m[40m[K[3;37H[3;14H[m(B[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[4;14H[1m[37m[46m [33mC[37mlose [4;14H[m(B[37m[44m [1m[33m[44mC[m(B[37m[44mlose [5;14H[1m[37m[46m [33mS[37mave ^X^S[1;13H[33m[44mF[m(B[37m[44mile[2;13H[1m[37m[40mrs[K[3;13H[K[4;13HMUST be edited with the 'vi[5;13H[K[6;13Hn page for details on how t[7;13H[K[8;13H[K[9;13H env_reset[K[10;13H[K[11;13H specification[K[12;13H[K[13;14Hspecification[K[23;2H[33m[44m--
|
---|
9994 | [40mWrote[37m [33m26[37m [33mlines[37m [33mto[37m [33m/etc/sudoers.tmp[20;42H[1;13H[46mF[37mile[24;1H[40m[K[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[34m[40mi[5;13H[37m[44m│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[34m[40mt[7;13H[37m[44m│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40mspecification[3;37H[3;14H[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[11;14H[1m[37m[46m E[33mx[37mit ^X^C[24;1H[40m[m(B[39;49m
|
---|
9995 | [K
|
---|
9996 | [?1049l>>> /etc/sudoers: syntax error near line 17 <<<
|
---|
9997 | >>> /etc/sudoers: syntax error near line 18 <<<
|
---|
9998 | What now?
|
---|
9999 | Options are:
|
---|
10000 | (e)dit sudoers file again
|
---|
10001 | e(x)it without saving changes to sudoers file
|
---|
10002 | (Q)uit and save changes to sudoers file (DANGER!)
|
---|
10003 |
|
---|
10004 | What now? e
|
---|
10005 | [?1049h[1;24r[4l[m(B[37m[40m[1;24r[H[2J[24;1H[33m[41mloading /usr/share/jed/lib/site.slc[24;28Hmini[24;36H[24;28Hos.sl[37m[40m[K[24;28H[33m[41mmenus.slc[24;28Hdefaults.sl[24;10Hetc/jed.d/05jed-common.sl[37m[40m[K[24;10H[33m[41musr/share/jed/lib/emacs.slc[24;28Hcolors/black3.slc[1m[37m[40m[1;24r[H[2J[24;1H[33mloading[37m [33m/usr/share/jed/lib/textmode.slc[24;28Hmodeinfo[24;40H[1;1H[m(B[37m[44mF10 key ==> [1m[33m[44mF[m(B[37m[44mile [1m[33m[44mE[m(B[37m[44mdit [1m[33m[44mS[m(B[37m[44mearch [1m[33m[44mB[m(B[37m[44muffers W[1m[33m[44mi[m(B[37m[44mndows S[1m[33m[44my[m(B[37m[44mstem [1m[33m[44mH[m(B[37m[44melp[K
|
---|
10006 |
|
---|
10007 | [1m[37m[40mDefaults[8Cenv_reset
|
---|
10008 |
|
---|
10009 | # Host alias specification
|
---|
10010 |
|
---|
10011 | # User alias specification
|
---|
10012 |
|
---|
10013 | # Cmnd alias specification
|
---|
10014 |
|
---|
10015 | # User privilege specification
|
---|
10016 | root ALL=(ALL) ALL
|
---|
10017 | openflow ALL=(ALL) NOPASSWD:ALL SETENV:ALL
|
---|
10018 | netfpga ALL=(ALL) NOPASSWD:ALL SETENV:ALL
|
---|
10019 | # Uncomment to allow members of group sudo to not need a password
|
---|
10020 | # (Note that later entries override this, so you might need to move
|
---|
10021 | # it further down)
|
---|
10022 | # %sudo ALL=NOPASSWD: ALL
|
---|
10023 |
|
---|
10024 | # Members of the admin group may gain root privileges
|
---|
10025 | %admin ALL=(ALL) ALL
|
---|
10026 |
|
---|
10027 | [33m[44m-------+(Jed 0.99.18U) Emacs: sudoers.tmp (Text) Bot 5:34pm---------------[12;1H[24;1H[37m[40m[K[13;1H
|
---|
10028 |
|
---|
10029 | [A[A
|
---|
10030 |
|
---|
10031 |
|
---|
10032 |
|
---|
10033 |
|
---|
10034 |
|
---|
10035 |
|
---|
10036 |
|
---|
10037 |
|
---|
10038 | [24;1H[31mRun-Time[37m [31mError[22;1H[37m[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H[22;1H
|
---|
10039 |
|
---|
10040 | [K[21;1H[23;63H[33m[44m5[21;1H[23;63H6[22;1H[37m[40m[24;1H[31mRun-Time[37m [31mError[22;1H
|
---|
10041 |
|
---|
10042 | [37m[K[21;1H[A[A[A[A[A[A[A[A[A
|
---|
10043 | [13;2H[13;3H[13;4H[13;5H[13;6H[13;7H[13;8H[13;9H[13;10H[13;11H[13;12H[13;13H[13;14H[13;15H[13;16H[13;17H[13;18H[13;19H[13;20H[13;21H[13;22H[13;23H[13;24H[13;25H[13;26H[13;27H[13;28H[13;29H[13;30H[13;31H[13;32H[13;33HSETENV:ALL[K[23;2H[33m[44m**[13;32H[37m[40mSETENV:ALL[K[13;31HSETENV:ALL[K[13;30HSETENV:ALL[K[13;29H SETENV:ALL[13;30H[14;30H[14;31H[14;32H[14;33HSETENV:ALL[K[14;31HSETENV:ALL[K[14;30HSETENV:ALL[K[14;29HSETENV:ALL[K[14;28H SETENV:ALL[14;29H[24;1H[33mloading[37m [33m/usr/share/jed/lib/popups.slc[1;13H[46mF[37mile[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[5;13H│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[7;13H│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40m(ALL)[1m[37m[40m [m(B[34m[40mNOPASSWD:[1m[37m[40m [m(B[34m[40mSETENV:ALL[24;1H[1m[37m[40m[K[3;37H[3;14H[m(B[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[4;14H[1m[37m[46m [33mC[37mlose [4;14H[m(B[37m[44m [1m[33m[44mC[m(B[37m[44mlose [5;14H[1m[37m[46m [33mS[37mave ^X^S[1;13H[33m[44mF[m(B[37m[44mile[2;13H[1m[37m[40m[K[3;13H env_reset[K[4;13H[K[5;13H specification[K[6;13H[K[7;13H specification[K[8;13H[K[9;13H specification[K[10;13H[K[11;13Hlege specification[K[12;13H(ALL) ALL[K[13;14H(ALL) NOPASSWD: SETENV:ALL[23;2H[33m[44m--
|
---|
10044 | [40mWrote[37m [33m26[37m [33mlines[37m [33mto[37m [33m/etc/sudoers.tmp[14;29H[1;13H[46mF[37mile[24;1H[40m[K[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[5;13H│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[7;13H│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40m(ALL)[1m[37m[40m [m(B[34m[40mNOPASSWD:[1m[37m[40m [m(B[34m[40mSETENV:ALL[3;37H[3;14H[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[4;14H[1m[37m[46m [33mC[37mlose [3;14H [33mO[37mpen ^X^F[4;14H[m(B[37m[44m [1m[33m[44mC[m(B[37m[44mlose [3;37H[3;14H [1m[33m[44mO[m(B[37m[44mpen ^X^F[11;14H[1m[37m[46m E[33mx[37mit ^X^C[24;1H[40m[m(B[39;49m
|
---|
10045 | [K
|
---|
10046 | [?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
10047 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
10048 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
10049 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo visudo /etc/sudoers
|
---|
10050 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[8Pman 5 sudoers[5Psudosudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
10051 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
10052 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
10053 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo -E netfpga/bin/nf_regress_test.pl --project driver
|
---|
10054 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cvisudo[K
|
---|
10055 | [?1049h[1;24r[4l[m(B[37m[40m[1;24r[H[2J[24;1H[33m[41mloading /usr/share/jed/lib/site.slc[24;28Hmini[24;36H[24;28Hos.sl[37m[40m[K[24;28H[33m[41mmenus.slc[24;28Hdefaults.sl[24;10Hetc/jed.d/05jed-common.sl[37m[40m[K[24;10H[33m[41musr/share/jed/lib/emacs.slc[24;28Hcolors/black3.slc[1m[37m[40m[1;24r[H[2J[24;1H[33mReading[37m [33m/etc/sudoers.tmp
|
---|
10056 | lo[7Cusr/share/jed/lib/textmode.slc[24;28Hmodeinfo[24;40H[1;1H[m(B[37m[44mF10 key ==> [1m[33m[44mF[m(B[37m[44mile [1m[33m[44mE[m(B[37m[44mdit [1m[33m[44mS[m(B[37m[44mearch [1m[33m[44mB[m(B[37m[44muffers W[1m[33m[44mi[m(B[37m[44mndows S[1m[33m[44my[m(B[37m[44mstem [1m[33m[44mH[m(B[37m[44melp[K
|
---|
10057 | [1m[37m[40m# /etc/sudoers
|
---|
10058 | #
|
---|
10059 | # This file MUST be edited with the 'visudo' command as root.
|
---|
10060 | #
|
---|
10061 | # See the man page for details on how to write a sudoers file.
|
---|
10062 | #
|
---|
10063 |
|
---|
10064 | Defaults[8Cenv_reset
|
---|
10065 |
|
---|
10066 | # Host alias specification
|
---|
10067 |
|
---|
10068 | # User alias specification
|
---|
10069 |
|
---|
10070 | # Cmnd alias specification
|
---|
10071 |
|
---|
10072 | # User privilege specification
|
---|
10073 | root ALL=(ALL) ALL
|
---|
10074 | openflow ALL=(ALL) NOPASSWD: SETENV:ALL
|
---|
10075 | netfpga ALL=(ALL) NOPASSWD: SETENV:ALL
|
---|
10076 | # Uncomment to allow members of group sudo to not need a password
|
---|
10077 | # (Note that later entries override this, so you might need to move
|
---|
10078 | [33m[44m-------+(Jed 0.99.18U) Emacs: sudoers.tmp (Text) Top 5:43pm---------------[2;1H[24;1H[37m[40m[K[3;1H
|
---|
10079 |
|
---|
10080 |
|
---|
10081 |
|
---|
10082 |
|
---|
10083 |
|
---|
10084 | iDefaults[7C[23;2H[33m[44m**[9;2H[37m[40m#Defaults[6C[9;3H[9;2HDefaults [6C[9;2H
|
---|
10085 | Defaults [7C
|
---|
10086 | 3Defaults[7C[9;2H
|
---|
10087 | Defaults [7C
|
---|
10088 | #Defaults[7C[9;2H[24;1H[33mloading[37m [33m/usr/share/jed/lib/popups.slc[1;13H[46mF[37mile[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[34m[40mi[5;13H[37m[44m│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[34m[40mt[7;13H[37m[44m│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40mspecification[24;1H[1m[37m[40m[K[3;37H[3;14H[m(B[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[4;14H[1m[37m[46m [33mC[37mlose [4;14H[m(B[37m[44m [1m[33m[44mC[m(B[37m[44mlose [5;14H[1m[37m[46m [33mS[37mave ^X^S[1;13H[33m[44mF[m(B[37m[44mile[2;13H[1m[37m[40mrs[K[3;13H[K[4;13HMUST be edited with the 'vi[5;13H[K[6;13Hn page for details on how t[7;13H[K[8;13H[K[9;13H env_reset[K[10;13H[K[11;13H specification[K[12;13H[K[13;14Hspecification[K[23;2H[33m[44m--
|
---|
10089 | [40mWrote[37m [33m26[37m [33mlines[37m [33mto[37m [33m/etc/sudoers.tmp[9;2H[1;13H[46mF[37mile[24;1H[40m[K[1;13H[2;13H[m(B[37m[44m┌────────────────────────┐[3;13H│[1m[37m[46m [33mO[37mpen ^X^F[m(B[37m[44m│[4;13H│ [1m[33m[44mC[m(B[37m[44mlose │[34m[40mi[5;13H[37m[44m│ [1m[33m[44mS[m(B[37m[44mave ^X^S│[6;13H│ Save [1m[33m[44mA[m(B[37m[44ms ^X^W│[34m[40mt[7;13H[37m[44m│ Save [1m[33m[44mB[m(B[37m[44muffers ^XS │[8;13H│ [1m[33m[44mI[m(B[37m[44mnsert File ^XI │[9;13H│ ────────────────────── │[10;13H│ Canc[1m[33m[44me[m(B[37m[44ml Operation ^G │[11;13H│ E[1m[33m[44mx[m(B[37m[44mit ^X^C│[12;13H└────────────────────────┘[13;14H[34m[40mspecification[3;37H[3;14H[37m[44m [1m[33m[44mO[m(B[37m[44mpen ^X^F[11;14H[1m[37m[46m E[33mx[37mit ^X^C[24;1H[40m[m(B[39;49m
|
---|
10090 | [K
|
---|
10091 | [?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
10092 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$
|
---|
10093 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo visudo-E netfpga/bin/nf_regress_test.pl --project driver
|
---|
10094 | Can't locate NF/Base.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at netfpga/bin/nf_regress_test.pl line 3.
|
---|
10095 | BEGIN failed--compilation aborted at netfpga/bin/nf_regress_test.pl line 3.
|
---|
10096 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo -e[KE echo $PERL5LIB
|
---|
10097 | /home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
10098 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo -E echo $PERL5LIB[1P[1P[1P
|
---|
10099 | /home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
10100 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo echo $PERL5LIB[K[K[K[K[K[K[K[K[K$PWD
|
---|
10101 | /home/netfpga
|
---|
10102 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ sudo echo $PWDERL5LIBWD[K[Ksudo bash
|
---|
10103 | ]0;root@node1-1: ~root@node1-1:~# echo $PERL5LIB
|
---|
10104 | /home/netfpga/netfpga/projects/reference_nic/lib/Perl5:/home/netfpga/netfpga/lib/Perl5:
|
---|
10105 | ]0;root@node1-1: ~root@node1-1:~# echo NF_ROOT
|
---|
10106 | NF_ROOT
|
---|
10107 | ]0;root@node1-1: ~root@node1-1:~# echo NF_ROOT$NF_ROOT
|
---|
10108 | /home/netfpga/netfpga
|
---|
10109 | ]0;root@node1-1: ~root@node1-1:~# pwd
|
---|
10110 | /home/netfpga
|
---|
10111 | ]0;root@node1-1: ~root@node1-1:~# pwdecho $NF_ROOT[1PNF_ROOT$PERL5LIB[K[K[K[K[K[K[K[K[K[K[K[K[K[Knetf[[Kpga/bin/nf_regf[Kg[Kress_test.pl ==[K[K--proejct [K[K[K[K[Kject driver
|
---|
10112 |
|
---|
10113 | NetFPGA environment:
|
---|
10114 | Root dir: /home/netfpga/netfpga
|
---|
10115 | Project name: driver
|
---|
10116 | Project dir: /home/netfpga/netfpga/projects/driver
|
---|
10117 | Work dir: /tmp/root
|
---|
10118 |
|
---|
10119 | Root directory is /home/netfpga/netfpga
|
---|
10120 | Running tests on project 'driver'...
|
---|
10121 | Running global setup... PASS
|
---|
10122 | Running test 'driver_compile'... PASS
|
---|
10123 | Running test 'driver_install'... PASS
|
---|
10124 | Running test 'modprobe'... PASS
|
---|
10125 | Running test 'verify_mtu'... PASS
|
---|
10126 | Running test 'verify_4_interfaces'... FAIL
|
---|
10127 | Output was:
|
---|
10128 | [: 97: Illegal number: !
|
---|
10129 | /home/netfpga/netfpga/projects/driver/regress/verify_4_interfaces/run: 97: Syntax error: Bad fd number
|
---|
10130 |
|
---|
10131 |
|
---|
10132 | verify_4_interfaces/run exited with value 2
|
---|
10133 |
|
---|
10134 | Running global teardown... PASS
|
---|
10135 |
|
---|
10136 |
|
---|
10137 | ]0;root@node1-1: ~root@node1-1:~# ifconfig
|
---|
10138 | control Link encap:Ethernet HWaddr 00:15:17:d6:da:4b
|
---|
10139 | inet addr:10.19.1.1 Bcast:10.19.255.255 Mask:255.255.0.0
|
---|
10140 | inet6 addr: fe80::215:17ff:fed6:da4b/64 Scope:Link
|
---|
10141 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10142 | RX packets:25593 errors:0 dropped:0 overruns:0 frame:0
|
---|
10143 | TX packets:15809 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10144 | collisions:0 txqueuelen:1000
|
---|
10145 | RX bytes:2269564 (2.2 MB) TX bytes:2907154 (2.9 MB)
|
---|
10146 | Memory:febe0000-fec00000
|
---|
10147 |
|
---|
10148 | exp0 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10149 | inet addr:192.168.11.5 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10150 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10151 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10152 | RX packets:17 errors:0 dropped:0 overruns:0 frame:0
|
---|
10153 | TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10154 | collisions:0 txqueuelen:1000
|
---|
10155 | RX bytes:1020 (1.0 KB) TX bytes:18862 (18.8 KB)
|
---|
10156 | Memory:feb80000-feba0000
|
---|
10157 |
|
---|
10158 | exp0.1 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10159 | inet addr:192.168.11.51 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10160 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10161 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10162 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10163 | TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10164 | collisions:0 txqueuelen:0
|
---|
10165 | RX bytes:0 (0.0 B) TX bytes:5597 (5.5 KB)
|
---|
10166 |
|
---|
10167 | exp0.2 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10168 | inet addr:192.168.11.52 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10169 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10170 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10171 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10172 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10173 | collisions:0 txqueuelen:0
|
---|
10174 | RX bytes:0 (0.0 B) TX bytes:3148 (3.1 KB)
|
---|
10175 |
|
---|
10176 | exp0.3 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10177 | inet addr:192.168.11.53 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10178 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10179 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10180 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10181 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10182 | collisions:0 txqueuelen:0
|
---|
10183 | RX bytes:0 (0.0 B) TX bytes:3063 (3.0 KB)
|
---|
10184 |
|
---|
10185 | exp0.4 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10186 | inet addr:192.168.11.54 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10187 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10188 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10189 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10190 | TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10191 | collisions:0 txqueuelen:0
|
---|
10192 | RX bytes:0 (0.0 B) TX bytes:2883 (2.8 KB)
|
---|
10193 |
|
---|
10194 | lo Link encap:Local Loopback
|
---|
10195 | inet addr:127.0.0.1 Mask:255.0.0.0
|
---|
10196 | inet6 addr: ::1/128 Scope:Host
|
---|
10197 | UP LOOPBACK RUNNING MTU:16436 Metric:1
|
---|
10198 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10199 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10200 | collisions:0 txqueuelen:0
|
---|
10201 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
---|
10202 |
|
---|
10203 | ]0;root@node1-1: ~root@node1-1:~# for i in `seq 0 3`; do ifconfig nf2c$i up; done
|
---|
10204 | ]0;root@node1-1: ~root@node1-1:~# for i in `seq 0 3`; do ifconfig nf2c$i up; done
|
---|
10205 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[K
|
---|
10206 | control Link encap:Ethernet HWaddr 00:15:17:d6:da:4b
|
---|
10207 | inet addr:10.19.1.1 Bcast:10.19.255.255 Mask:255.255.0.0
|
---|
10208 | inet6 addr: fe80::215:17ff:fed6:da4b/64 Scope:Link
|
---|
10209 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10210 | RX packets:25614 errors:0 dropped:0 overruns:0 frame:0
|
---|
10211 | TX packets:15826 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10212 | collisions:0 txqueuelen:1000
|
---|
10213 | RX bytes:2271312 (2.2 MB) TX bytes:2912429 (2.9 MB)
|
---|
10214 | Memory:febe0000-fec00000
|
---|
10215 |
|
---|
10216 | exp0 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10217 | inet addr:192.168.11.5 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10218 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10219 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10220 | RX packets:17 errors:0 dropped:0 overruns:0 frame:0
|
---|
10221 | TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10222 | collisions:0 txqueuelen:1000
|
---|
10223 | RX bytes:1020 (1.0 KB) TX bytes:18862 (18.8 KB)
|
---|
10224 | Memory:feb80000-feba0000
|
---|
10225 |
|
---|
10226 | exp0.1 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10227 | inet addr:192.168.11.51 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10228 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10229 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10230 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10231 | TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10232 | collisions:0 txqueuelen:0
|
---|
10233 | RX bytes:0 (0.0 B) TX bytes:5597 (5.5 KB)
|
---|
10234 |
|
---|
10235 | exp0.2 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10236 | inet addr:192.168.11.52 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10237 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10238 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10239 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10240 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10241 | collisions:0 txqueuelen:0
|
---|
10242 | RX bytes:0 (0.0 B) TX bytes:3148 (3.1 KB)
|
---|
10243 |
|
---|
10244 | exp0.3 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10245 | inet addr:192.168.11.53 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10246 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10247 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10248 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10249 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10250 | collisions:0 txqueuelen:0
|
---|
10251 | RX bytes:0 (0.0 B) TX bytes:3063 (3.0 KB)
|
---|
10252 |
|
---|
10253 | exp0.4 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10254 | inet addr:192.168.11.54 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10255 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10256 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10257 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10258 | TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10259 | collisions:0 txqueuelen:0
|
---|
10260 | RX bytes:0 (0.0 B) TX bytes:2883 (2.8 KB)
|
---|
10261 |
|
---|
10262 | lo Link encap:Local Loopback
|
---|
10263 | inet addr:127.0.0.1 Mask:255.0.0.0
|
---|
10264 | inet6 addr: ::1/128 Scope:Host
|
---|
10265 | UP LOOPBACK RUNNING MTU:16436 Metric:1
|
---|
10266 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10267 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10268 | collisions:0 txqueuelen:0
|
---|
10269 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
---|
10270 |
|
---|
10271 | nf2c0 Link encap:Ethernet HWaddr 00:4e:46:32:43:00
|
---|
10272 | UP BROADCAST MULTICAST MTU:1500 Metric:1
|
---|
10273 | RX packets:40 errors:0 dropped:0 overruns:0 frame:0
|
---|
10274 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10275 | collisions:0 txqueuelen:1000
|
---|
10276 | RX bytes:2571 (2.5 KB) TX bytes:0 (0.0 B)
|
---|
10277 | Interrupt:16
|
---|
10278 |
|
---|
10279 | nf2c1 Link encap:Ethernet HWaddr 00:4e:46:32:43:01
|
---|
10280 | UP BROADCAST MULTICAST MTU:1500 Metric:1
|
---|
10281 | RX packets:40 errors:0 dropped:0 overruns:0 frame:0
|
---|
10282 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10283 | collisions:0 txqueuelen:1000
|
---|
10284 | RX bytes:2571 (2.5 KB) TX bytes:0 (0.0 B)
|
---|
10285 | Interrupt:16
|
---|
10286 |
|
---|
10287 | nf2c2 Link encap:Ethernet HWaddr 00:4e:46:32:43:02
|
---|
10288 | UP BROADCAST MULTICAST MTU:1500 Metric:1
|
---|
10289 | RX packets:40 errors:0 dropped:0 overruns:0 frame:0
|
---|
10290 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10291 | collisions:0 txqueuelen:1000
|
---|
10292 | RX bytes:2571 (2.5 KB) TX bytes:0 (0.0 B)
|
---|
10293 | Interrupt:16
|
---|
10294 |
|
---|
10295 | nf2c3 Link encap:Ethernet HWaddr 00:4e:46:32:43:03
|
---|
10296 | UP BROADCAST MULTICAST MTU:1500 Metric:1
|
---|
10297 | RX packets:40 errors:0 dropped:0 overruns:0 frame:0
|
---|
10298 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10299 | collisions:0 txqueuelen:1000
|
---|
10300 | RX bytes:2571 (2.5 KB) TX bytes:0 (0.0 B)
|
---|
10301 | Interrupt:16
|
---|
10302 |
|
---|
10303 | ]0;root@node1-1: ~root@node1-1:~# ifconfigfor i in `seq 0 3`; do ifconfig nf2c$i up; done
|
---|
10304 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[Knetfpga/bin/nf_regress_test.pl --project driver
|
---|
10305 |
|
---|
10306 | NetFPGA environment:
|
---|
10307 | Root dir: /home/netfpga/netfpga
|
---|
10308 | Project name: driver
|
---|
10309 | Project dir: /home/netfpga/netfpga/projects/driver
|
---|
10310 | Work dir: /tmp/root
|
---|
10311 |
|
---|
10312 | Root directory is /home/netfpga/netfpga
|
---|
10313 | Running tests on project 'driver'...
|
---|
10314 | Running global setup... PASS
|
---|
10315 | Running test 'driver_compile'... PASS
|
---|
10316 | Running test 'driver_install'... PASS
|
---|
10317 | Running test 'modprobe'... PASS
|
---|
10318 | Running test 'verify_mtu'... PASS
|
---|
10319 | Running test 'verify_4_interfaces'... FAIL
|
---|
10320 | Output was:
|
---|
10321 | [: 97: Illegal number: !
|
---|
10322 | /home/netfpga/netfpga/projects/driver/regress/verify_4_interfaces/run: 97: Syntax error: Bad fd number
|
---|
10323 |
|
---|
10324 |
|
---|
10325 | verify_4_interfaces/run exited with value 2
|
---|
10326 |
|
---|
10327 | Running global teardown... PASS
|
---|
10328 |
|
---|
10329 |
|
---|
10330 | ]0;root@node1-1: ~root@node1-1:~# netfpga/bin/nf_regress_test.pl --project driver
|
---|
10331 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[K
|
---|
10332 | control Link encap:Ethernet HWaddr 00:15:17:d6:da:4b
|
---|
10333 | inet addr:10.19.1.1 Bcast:10.19.255.255 Mask:255.255.0.0
|
---|
10334 | inet6 addr: fe80::215:17ff:fed6:da4b/64 Scope:Link
|
---|
10335 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10336 | RX packets:25644 errors:0 dropped:0 overruns:0 frame:0
|
---|
10337 | TX packets:15848 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10338 | collisions:0 txqueuelen:1000
|
---|
10339 | RX bytes:2273676 (2.2 MB) TX bytes:2920589 (2.9 MB)
|
---|
10340 | Memory:febe0000-fec00000
|
---|
10341 |
|
---|
10342 | exp0 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10343 | inet addr:192.168.11.5 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10344 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10345 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10346 | RX packets:17 errors:0 dropped:0 overruns:0 frame:0
|
---|
10347 | TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10348 | collisions:0 txqueuelen:1000
|
---|
10349 | RX bytes:1020 (1.0 KB) TX bytes:18862 (18.8 KB)
|
---|
10350 | Memory:feb80000-feba0000
|
---|
10351 |
|
---|
10352 | exp0.1 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10353 | inet addr:192.168.11.51 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10354 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10355 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10356 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10357 | TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10358 | collisions:0 txqueuelen:0
|
---|
10359 | RX bytes:0 (0.0 B) TX bytes:5597 (5.5 KB)
|
---|
10360 |
|
---|
10361 | exp0.2 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10362 | inet addr:192.168.11.52 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10363 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10364 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10365 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10366 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10367 | collisions:0 txqueuelen:0
|
---|
10368 | RX bytes:0 (0.0 B) TX bytes:3148 (3.1 KB)
|
---|
10369 |
|
---|
10370 | exp0.3 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10371 | inet addr:192.168.11.53 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10372 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10373 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10374 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10375 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10376 | collisions:0 txqueuelen:0
|
---|
10377 | RX bytes:0 (0.0 B) TX bytes:3063 (3.0 KB)
|
---|
10378 |
|
---|
10379 | exp0.4 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10380 | inet addr:192.168.11.54 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10381 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10382 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10383 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10384 | TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10385 | collisions:0 txqueuelen:0
|
---|
10386 | RX bytes:0 (0.0 B) TX bytes:2883 (2.8 KB)
|
---|
10387 |
|
---|
10388 | lo Link encap:Local Loopback
|
---|
10389 | inet addr:127.0.0.1 Mask:255.0.0.0
|
---|
10390 | inet6 addr: ::1/128 Scope:Host
|
---|
10391 | UP LOOPBACK RUNNING MTU:16436 Metric:1
|
---|
10392 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10393 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10394 | collisions:0 txqueuelen:0
|
---|
10395 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
---|
10396 |
|
---|
10397 | ]0;root@node1-1: ~root@node1-1:~# ifconfignetfpga/bin/nf_regress_test.pl --project driver
|
---|
10398 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[Knetfpga/bin/nf_regress_test.pl --project driver
|
---|
10399 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[Kfor i in `seq 0 3`; do ifconfig nf2c$i up; done
|
---|
10400 | ]0;root@node1-1: ~root@node1-1:~#
|
---|
10401 | ]0;root@node1-1: ~root@node1-1:~#
|
---|
10402 | ]0;root@node1-1: ~root@node1-1:~# for i in `seq 0 3`; do ifconfig nf2c$i up; done
|
---|
10403 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cifconfig[Knetfpga/bin/nf_regress_test.pl --project driver[K[K[K[K[K[K[K 'reference_nic'
|
---|
10404 |
|
---|
10405 | NetFPGA environment:
|
---|
10406 | Root dir: /home/netfpga/netfpga
|
---|
10407 | Project name: reference_nic
|
---|
10408 | Project dir: /home/netfpga/netfpga/projects/reference_nic
|
---|
10409 | Work dir: /tmp/root
|
---|
10410 |
|
---|
10411 | Root directory is /home/netfpga/netfpga
|
---|
10412 | Running tests on project 'reference_nic'...
|
---|
10413 | Running global setup... FAIL
|
---|
10414 | Output was:
|
---|
10415 |
|
---|
10416 | NetFPGA environment:
|
---|
10417 | Root dir: /home/netfpga/netfpga
|
---|
10418 | Project name: reference_nic
|
---|
10419 | Project dir: /home/netfpga/netfpga/projects/reference_nic
|
---|
10420 | Work dir: /tmp/root
|
---|
10421 |
|
---|
10422 | Found net device: nf2c0
|
---|
10423 | Virtex design compiled against active CPCI version
|
---|
10424 | Bit file built from: nf2_top_par.ncd;HW_TIMEOUT=FALSE
|
---|
10425 | Part: 2vp50ff1152
|
---|
10426 | Date: 2011/ 1/20
|
---|
10427 | Time: 4:14:34
|
---|
10428 | Error Registers: 0
|
---|
10429 | Good, after resetting programming interface the FIFO is empty
|
---|
10430 | Download completed - 2377668 bytes. (expected 2377668).
|
---|
10431 | DONE went high - chip has been successfully programmed.
|
---|
10432 | CPCI Information
|
---|
10433 | ----------------
|
---|
10434 | Version: 4 (rev 1)
|
---|
10435 |
|
---|
10436 | Device (Virtex) Information
|
---|
10437 | ---------------------------
|
---|
10438 | Project directory: reference_nic
|
---|
10439 | Project name: Reference NIC
|
---|
10440 | Project description: Reference NIC
|
---|
10441 |
|
---|
10442 | Device ID: 1
|
---|
10443 | Version: 1.1.0
|
---|
10444 | Built against CPCI version: 4 (rev 1)
|
---|
10445 |
|
---|
10446 | SIOCSIFADDR: No such device
|
---|
10447 | eth2: ERROR while getting interface flags: No such device
|
---|
10448 | SIOCSIFNETMASK: No such device
|
---|
10449 | eth2: error fetching interface information: Device not found
|
---|
10450 | SIOCSIFADDR: No such device
|
---|
10451 | eth1: ERROR while getting interface flags: No such device
|
---|
10452 | SIOCSIFNETMASK: No such device
|
---|
10453 | eth1: error fetching interface information: Device not found
|
---|
10454 | FAIL
|
---|
10455 |
|
---|
10456 |
|
---|
10457 | global/setup exited with value 1
|
---|
10458 |
|
---|
10459 |
|
---|
10460 |
|
---|
10461 | ]0;root@node1-1: ~root@node1-1:~# exit
|
---|
10462 | exit
|
---|
10463 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ vi sudo bashecho $PWDERL5LIB[3@-E [C[C[C[C[C[C[C[C[C[C[C[C[C[Cnetfpga/bin/nf_regress_test.pl --project driver
|
---|
10464 | [C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Cecho $PERL5LIB[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[Knet[K[K[Kvi netfpga/bin/
|
---|
10465 | make_perl_cpan.pl nf_make_alpha_release.pl nf_regress_test.pl
|
---|
10466 | match_duplicate_pkts.pl nf_make_release.pl nf_run_test.pl
|
---|
10467 | nf_compare.pl nf_profile nf_upgrade_files.pl
|
---|
10468 | nf_const_subst.pl nf_profile_stanford
|
---|
10469 | nf_cshrc nf_register_gen.pl
|
---|
10470 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ vi netfpga/bin/nf_profile
|
---|
10471 | [?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[m[H[2J[?25l[24;1H"netfpga/bin/nf_profile" 23L, 831C[>c[1;1H[34m# To use the tools for the NetFPGA2 project, you should source this file.
|
---|
10472 | # Add the following to your ~/.bashrc file AFTER you set the NF_ROOT variable.
|
---|
10473 | # source ${NF_ROOT}/bin/nf2_rc
|
---|
10474 |
|
---|
10475 | # We really need NF_ROOT to be set....[m
|
---|
10476 | if [ [31m"$NF_ROOT"[m = [31m""[m ] ; then
|
---|
10477 | echo [31m"ERROR: the variable NF_ROOT is not set."[m
|
---|
10478 | echo [31m" Please set the variable NF_ROOT to the root directory of your"[m
|
---|
10479 | echo [31m" NetFPGA installation and then re-run this script."[m
|
---|
10480 | echo [31m"\n For example: export NF_ROOT /usr/share/netfpga"[m
|
---|
10481 |
|
---|
10482 | exit 1
|
---|
10483 | fi
|
---|
10484 |
|
---|
10485 | [34m# Project scripts, etc.[m
|
---|
10486 | export PATH=[31m"${NF_ROOT}/bin:${PATH}"[m
|
---|
10487 |
|
---|
10488 |
|
---|
10489 | [34m# Many of the NetFPGA scripts are Perl scripts, and need certain Perl libraries.[20;1H# So here we set up the Perl 5 library variable to include our libraries.[m
|
---|
10490 | export PERL5LIB=[31m"${NF_DESIGN_DIR}/lib/Perl5:${NF_ROOT}/lib/Perl5:${PERL5LIB}"[m[24;63H1,1[11CAll[1;1H[?12l[?25hP+q436f\P+q6b75\P+q6b64\P+q6b72\P+q6b6c\P+q2332\P+q2334\P+q2569\P+q2a37\P+q6b31\P+q6b32\[27m[m[H[2J[?25l[1;1H[34m# To use the tools for the NetFPGA2 project, you should source this file.
|
---|
10491 | # Add the following to your ~/.bashrc file AFTER you set the NF_ROOT variable.
|
---|
10492 | # source ${NF_ROOT}/bin/nf2_rc
|
---|
10493 |
|
---|
10494 | # We really need NF_ROOT to be set....[m
|
---|
10495 | if [ [31m"$NF_ROOT"[m = [31m""[m ] ; then
|
---|
10496 | echo [31m"ERROR: the variable NF_ROOT is not set."[m
|
---|
10497 | echo [31m" Please set the variable NF_ROOT to the root directory of your"[m
|
---|
10498 | echo [31m" NetFPGA installation and then re-run this script."[m
|
---|
10499 | echo [31m"\n For example: export NF_ROOT /usr/share/netfpga"[m
|
---|
10500 |
|
---|
10501 | exit 1
|
---|
10502 | fi
|
---|
10503 |
|
---|
10504 | [34m# Project scripts, etc.[m
|
---|
10505 | export PATH=[31m"${NF_ROOT}/bin:${PATH}"[m
|
---|
10506 |
|
---|
10507 |
|
---|
10508 | [34m# Many of the NetFPGA scripts are Perl scripts, and need certain Perl libraries.[20;1H# So here we set up the Perl 5 library variable to include our libraries.[m
|
---|
10509 | export PERL5LIB=[31m"${NF_DESIGN_DIR}/lib/Perl5:${NF_ROOT}/lib/Perl5:${PERL5LIB}"[m[24;63H1,1[11CAll
|
---|
10510 | "netfpga/bin/nf_profile" 23L, 831C[24;63H[K[24;63H1,1[11CAll[1;1H[?12l[?25hP+q6b33\[?25l[?12l[?25hP+q6b34\P+q6b35\P+q6b36\P+q6b37\P+q6b38\P+q6b39\P+q6b3b\P+q4631\P+q4632\P+q2531\P+q2638\P+q6b62\P+q6b49\P+q6b44\P+q6b68\P+q4037\P+q6b50\P+q6b4e\P+q4b31\P+q4b33\P+q4b34\P+q4b35\P+q6b42\[?25l[24;63H2[2;1H[?12l[?25h[?25l[24;63H3[3;1H[?12l[?25h[?25l[24;63H4,0-1[4;1H[?12l[?25h[?25l[24;63H5,1 [5;1H[?12l[?25h[?25l[24;63H6[6;1H[?12l[?25h[?25l[24;63H7[7;1H[?12l[?25h[?25l[24;63H8[8;1H[?12l[?25h[?25l[24;63H9[9;1H[?12l[?25h[?25l[24;63H10,1[10;1H[?12l[?25h[?25l[24;64H1,0-1[11;1H[?12l[?25h[?25l[24;64H2,1 [12;1H[?12l[?25h[?25l[24;64H3[13;1H[?12l[?25h[?25l[24;64H4,0-1[14;1H[?12l[?25h[?25l[24;64H5,1 [15;1H[?12l[?25h[?25l[24;64H6[16;1H[?12l[?25h[?25l[24;64H7,0-1[17;1H[?12l[?25h[?25l[24;64H8[18;1H[?12l[?25h[?25l[24;64H9,1 [19;1H[?12l[?25h[?25l[24;63H20[20;1H[?12l[?25h[?25l[24;64H1[21;1H[?12l[?25h[?25l[24;64H2,0-1[22;1H[?12l[?25h[?25l[24;64H3[23;1H[?12l[?25h[?25l[24;64H2[22;1H[?12l[?25h[?25l[24;64H1,1 [21;1H[?12l[?25h[?25l[24;1H[K[24;1H:[?12l[?25hq[?25l[?12l[?25h
|
---|
10511 | [?25l[24;1H[K[24;1H[?1l>[?12l[?25h[?1049l]0;netfpga@node1-1: ~netfpga@node1-1:~$ vi netfpga/bin/nf_profile[K[K[K[K[K[K[K[K[K[K[K[K[K[K
|
---|
10512 | bashrc_addon CHANGES .gitignore Makefile
|
---|
10513 | bin/ doc/ lib/ projects/
|
---|
10514 | bitfiles/ .git/ LICENSE README
|
---|
10515 | ]0;netfpga@node1-1: ~netfpga@node1-1:~$ vi netfpga/[K[K[K[K[K[K[K[K[K[K[Kcd netfpga/
|
---|
10516 | ]0;netfpga@node1-1: ~/netfpganetfpga@node1-1:~/netfpga$ grep eth4 *[1@-[1@r[1@
|
---|
10517 | ]0;netfpga@node1-1: ~/netfpganetfpga@node1-1:~/netfpga$ ifconfig
|
---|
10518 | Command 'ifconfig' is available in '/sbin/ifconfig'
|
---|
10519 | The command could not be located because '/sbin' is not included in the PATH environment variable.
|
---|
10520 | This is most likely caused by the lack of administrative priviledges associated with your user account.
|
---|
10521 | ifconfig: command not found
|
---|
10522 | ]0;netfpga@node1-1: ~/netfpganetfpga@node1-1:~/netfpga$ sudo ifconfig
|
---|
10523 | control Link encap:Ethernet HWaddr 00:15:17:d6:da:4b
|
---|
10524 | inet addr:10.19.1.1 Bcast:10.19.255.255 Mask:255.255.0.0
|
---|
10525 | inet6 addr: fe80::215:17ff:fed6:da4b/64 Scope:Link
|
---|
10526 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10527 | RX packets:26161 errors:0 dropped:0 overruns:0 frame:0
|
---|
10528 | TX packets:16139 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10529 | collisions:0 txqueuelen:1000
|
---|
10530 | RX bytes:2321353 (2.3 MB) TX bytes:2962369 (2.9 MB)
|
---|
10531 | Memory:febe0000-fec00000
|
---|
10532 |
|
---|
10533 | exp0 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10534 | inet addr:192.168.11.5 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10535 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10536 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10537 | RX packets:18 errors:0 dropped:0 overruns:0 frame:0
|
---|
10538 | TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10539 | collisions:0 txqueuelen:1000
|
---|
10540 | RX bytes:1201 (1.2 KB) TX bytes:18862 (18.8 KB)
|
---|
10541 | Memory:feb80000-feba0000
|
---|
10542 |
|
---|
10543 | exp0.1 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10544 | inet addr:192.168.11.51 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10545 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10546 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10547 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10548 | TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10549 | collisions:0 txqueuelen:0
|
---|
10550 | RX bytes:0 (0.0 B) TX bytes:5597 (5.5 KB)
|
---|
10551 |
|
---|
10552 | exp0.2 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10553 | inet addr:192.168.11.52 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10554 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10555 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10556 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10557 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10558 | collisions:0 txqueuelen:0
|
---|
10559 | RX bytes:0 (0.0 B) TX bytes:3148 (3.1 KB)
|
---|
10560 |
|
---|
10561 | exp0.3 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10562 | inet addr:192.168.11.53 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10563 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10564 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10565 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10566 | TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10567 | collisions:0 txqueuelen:0
|
---|
10568 | RX bytes:0 (0.0 B) TX bytes:3063 (3.0 KB)
|
---|
10569 |
|
---|
10570 | exp0.4 Link encap:Ethernet HWaddr 00:15:17:d6:da:4a
|
---|
10571 | inet addr:192.168.11.54 Bcast:192.168.255.255 Mask:255.255.0.0
|
---|
10572 | inet6 addr: fe80::215:17ff:fed6:da4a/64 Scope:Link
|
---|
10573 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10574 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10575 | TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10576 | collisions:0 txqueuelen:0
|
---|
10577 | RX bytes:0 (0.0 B) TX bytes:2883 (2.8 KB)
|
---|
10578 |
|
---|
10579 | lo Link encap:Local Loopback
|
---|
10580 | inet addr:127.0.0.1 Mask:255.0.0.0
|
---|
10581 | inet6 addr: ::1/128 Scope:Host
|
---|
10582 | UP LOOPBACK RUNNING MTU:16436 Metric:1
|
---|
10583 | RX packets:0 errors:0 dropped:0 overruns:0 frame:0
|
---|
10584 | TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
|
---|
10585 | collisions:0 txqueuelen:0
|
---|
10586 | RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
|
---|
10587 |
|
---|
10588 | nf2c0 Link encap:Ethernet HWaddr 00:4e:46:32:43:00
|
---|
10589 | inet addr:192.168.200.1 Bcast:192.168.200.3 Mask:255.255.255.252
|
---|
10590 | inet6 addr: fe80::24e:46ff:fe32:4300/64 Scope:Link
|
---|
10591 | UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
---|
10592 | RX packets:84 errors:0 dropped:0 overruns:0 frame:0
|
---|
10593 | TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
|
---|