11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

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

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

}<br />

*)<br />

;;<br />

esac<br />

echo -n -e "\033]0;$*\007" ;;<br />

# aliases...<br />

alias top=’xtitle Processes on $HOST && top’<br />

alias make=’xtitle Making $(basename $PWD) ; make’<br />

alias ncftp="xtitle ncFTP ; ncftp"<br />

# .. and functions<br />

function man ()<br />

{<br />

for i ; do<br />

xtitle The $(basename $1|tr -d .[:<strong>di</strong>git:]) manual<br />

command man -F -a "$i"<br />

done<br />

}<br />

Appen<strong>di</strong>ce K. Un esempio <strong>di</strong> file .bashrc<br />

function ll(){ ls -l "$@"| egrep "^d" ; ls -lXB "$@" 2>&-| egrep -v "^d|total "; }<br />

function te() # wrapper around xemacs/gnuserv<br />

{<br />

if [ "$(gnuclient -batch -eval t 2>&-)" == "t" ]; then<br />

gnuclient -q "$@";<br />

else<br />

( xemacs "$@" &);<br />

fi<br />

}<br />

#-----------------------------------<br />

# File & strings related functions:<br />

#-----------------------------------<br />

# Find a file with a pattern in name:<br />

function ff() { find . -type f -iname ’*’$*’*’ -ls ; }<br />

# Find a file with pattern $1 in name and Execute $2 on it:<br />

function fe() { find . -type f -iname ’*’$1’*’ -exec "${2:-file}" {} \; ; }<br />

# find pattern in a set of filesand highlight them:<br />

function fstr()<br />

{<br />

OPTIND=1<br />

local case=""<br />

local usage="fstr: find string in files.<br />

Usage: fstr [-i] \"pattern\" [\"filename pattern\"] "<br />

while getopts :it opt<br />

do<br />

case "$opt" in<br />

i) case="-i " ;;<br />

*) echo "$usage"; return;;<br />

esac<br />

done<br />

shift $(( $OPTIND - 1 ))<br />

798

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

Saved successfully!

Ooh no, something went wrong!