27.08.2015 Views

Advanced Bash−Scripting Guide

Advanced Bash-Scripting Guide - Nicku.org

Advanced Bash-Scripting Guide - Nicku.org

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Advanced</strong> <strong>Bash−Scripting</strong> <strong>Guide</strong><br />

fi<br />

return<br />

shopt −s extglob<br />

set +o nounset<br />

complete −A hostname<br />

complete −A export<br />

complete −A variable<br />

complete −A enabled<br />

complete −A alias<br />

complete −A function<br />

complete −A user<br />

# necessary<br />

# otherwise some completions will fail<br />

rsh rcp telnet rlogin r ftp ping disk<br />

printenv<br />

export local readonly unset<br />

builtin<br />

alias unalias<br />

function<br />

su mail finger<br />

complete −A helptopic help # currently same as builtins<br />

complete −A shopt shopt<br />

complete −A stopped −P '%' bg<br />

complete −A job −P '%' fg jobs disown<br />

complete −A directory mkdir rmdir<br />

complete −A directory −o default cd<br />

# Compression<br />

complete −f −o default −X '*.+(zip|ZIP)' zip<br />

complete −f −o default −X '!*.+(zip|ZIP)' unzip<br />

complete −f −o default −X '*.+(z|Z)' compress<br />

complete −f −o default −X '!*.+(z|Z)' uncompress<br />

complete −f −o default −X '*.+(gz|GZ)' gzip<br />

complete −f −o default −X '!*.+(gz|GZ)' gunzip<br />

complete −f −o default −X '*.+(bz2|BZ2)' bzip2<br />

complete −f −o default −X '!*.+(bz2|BZ2)' bunzip2<br />

# Postscript,pdf,dvi.....<br />

complete −f −o default −X '!*.ps' gs ghostview ps2pdf ps2ascii<br />

complete −f −o default −X '!*.dvi' dvips dvipdf xdvi dviselect dvitype<br />

complete −f −o default −X '!*.pdf' acroread pdf2ps<br />

complete −f −o default −X '!*.+(pdf|ps)' gv<br />

complete −f −o default −X '!*.texi*' makeinfo texi2dvi texi2html texi2pdf<br />

complete −f −o default −X '!*.tex' tex latex slitex<br />

complete −f −o default −X '!*.lyx' lyx<br />

complete −f −o default −X '!*.+(htm*|HTM*)' lynx html2ps<br />

# Multimedia<br />

complete −f −o default −X '!*.+(jp*g|gif|xpm|png|bmp)' xv gimp<br />

complete −f −o default −X '!*.+(mp3|MP3)' mpg123 mpg321<br />

complete −f −o default −X '!*.+(ogg|OGG)' ogg123<br />

complete −f −o default −X '!*.pl' perl perl5<br />

# This is a 'universal' completion function − it works when commands have<br />

# a so−called 'long options' mode , ie: 'ls −−all' instead of 'ls −a'<br />

_get_longopts ()<br />

{<br />

$1 −−help | sed −e '/−−/!d' −e 's/.*−−\([^[:space:].,]*\).*/−−\1/'| \<br />

grep ^"$2" |sort −u ;<br />

}<br />

_longopts_func ()<br />

{<br />

case "${2:−*}" in<br />

−*) ;;<br />

Appendix G. A Sample .bashrc File 425

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!