Archivio

Posts Tagged ‘unix’

bash scripting: change delim using for

gennaio 7, 2013 Commenti disabilitati

Usually when I write shell script I prefer to use the statement “for”.
But there’s a problem: by default the ‘for’ get every single word.

That’s because if not specified¬†the ‘for’ use as delimiter the space character (” “).
So, if I want to work with several word in a single iteration i need to change the delimiter.

That’s easy!
To change the delimiter you just need to change the variable IFS.

Let’s see some code:


LOGFILE=/var/log/mylogfile.log
IFS=";"                              # change delimiter in ";" (magic)
EXCEPTIONS="timeout;java.somerror;a lot of errors"    # my exception 
for word in $EXCEPTIONS;do
    echo -n "Check Exception: \"$word\" ..."         # escape "
    N=$(grep -ic $word $LOGFILE)                     # check log
    if [ $N -gt 0 ];then                             # if found
        echo -e "\nWARNING: Found $N exception:\"$word\"" # print 
    else
        echo "None"                                  # else no
    fi
done

output:


> Check Exception: "timeout"...None
> Check Exception: "java.somerror"...None
> Check Exception: "a lot of errors"...
WARNING: Found 3 exception "a lot of errors"

That’s an easy way to use the ‘for’ statement even if usually cant and so you can write good code.
enjoy ūüôā

Categorie:linux Tag:, , , , , , ,

screenrc

febbraio 14, 2009 Commenti disabilitati

Sto usando spesso screen in ambito server e diventa sempre pi√Ļ utile utilizzare un unico screenrc fatto per bene.

Screen √® un multiterminale creato proprio per chi ha la necessit√† di avere pi√Ļ di una console aperta e switchare spesso da una all’altra. Permette di spostarsi senza utilizzare il mouse e grazie a tantissime scorciatoie da tastiera si possono eseguire comandi complicati in un attimo. La sua natura ricora molto vim, ma la sua potenza √® nulla senza il controllo!

Quindi posto qui di seguito un ottimo screenrc:

# s@mba ~/.screenrc
# file di configurazione di screen
autodetach            on             
crlf                  off            
deflogin              off            
hardcopy_append       on             
startup_message       off     
termcapinfo linux "ve=\E[?25h\E[?17;0;64c" # red
vbell                 off             
defscrollback         3000            
silencewait           15              
shell                 bash
# in order to print
caption always "%{= kw}%?%-Lw%?%{+b kw}%n*%t%f %?(%u)%?%{= kw}%?%+Lw%?"
hardstatus alwayslastline "%{+b kr}[ %H ] %{ky} Load: %l %-=%{kb} %c  %d.%m.%Y"

sorendition gK
activity              "activity in %n (%t) [%w:%s]~"
bell                  "bell     in %n (%t) [%w:%s]~"
pow_detach_msg        "BYE"
vbell_msg             " *beep* "
bind A title  # default!
bind ^g  screen -t 'Google' links www.google.com
bind K  kill # default!
bind M monitor # default!
bind P paste .
bind V screen -t 'vim' 0 vim
bind ^Y screen -t log watch -n 5 rail -40 /var/log/syslog
bind .
bind ^\
bind \\
msgwait 1
version
msgwait 2
echo "Benvenuto :-)"

Per la verione originale e sopratutto commentata fare rifermento a questo esempio completo di screenrc

Categorie:varie Tag:, , , , ,

UnixStickers

gennaio 26, 2009 5 commenti

ho scoperto questo sito: http://www.unixstickers.com/?r=fi&lan=it e me ne sono innamorato.

Hanno gli stickers pi√Ļ belli e costano per tutta l’italia solo 3,50 ‚ā¨

Belli belli belli !!!

Categorie:varie Tag:, , ,