Saturday, June 21, 2008
Posted by venu k
8 comments | 12:44 AM
Bash variables are defaults to global What makes a variable local? A variable declared as local is one that is visible only within the block of code in which it appears. It has local "scope." In a function, a local variable has meaning only within that function block.Ex:local variable name func (){local loc_var=23# Declared as local variable.# Uses the 'local' builtin.echo "\"loc_var\" in function = $loc_var"global_var=999 # Not declared as local.# Defaults to global.echo "\"global_var\" in function = $global_var"}func# Now, to see if local variable...
Posted by venu k
2 comments | 12:24 AM
Unlike many other programming languages, Bash does not separate its variables by "type". Essentially, Bash variables are character strings, but, depending on context, Bash permits integer operations and comparisons on variables. The determining factor is whether the value of a variable contains only digits.Integer or string?a=2334 # Integer.let "a += 1"echo "a = $a " # a = 2335 # Integer, still.b=${a/23/BB} # Substitute "BB" for "23". # This transforms $b into a string.echo...
Friday, June 6, 2008
Posted by venu k
4 comments | 7:56 AM
#!bin/bash# backs up all files in current directory modified within last 24 hours# in a tarred and zipped file# Replace 1 with how many day's you want to back up filesBACKUPFILE=backup-`date +"%m-%d-%Y"`# Embeds date in backup filenamearchive=${1:-$BACKUPFILE}#If no filename specified default to backup-MM-DD-YYYYfind . -mtime -1 -type f -print0 xargs -0 tar rvf "$archive.tar"#check bellow command# tar cvf - $(find . -mtime -1 -type f -print) > $archive.tar# It works But will fail to backup file names contain space# if there is no files containing...
Wednesday, June 4, 2008
Posted by venu k
7 comments | 6:11 AM
#!/bin/bash# Traverse a directory using depth first traversal technique# Usage $0 directorypath# otherwise it takes current working directory as directory pathdepth(){#Do a small depth checking how deep into the tree we are k=0 while [ $k -lt $1 ] do echo -n " " let k++ #or use k=`expr $k + 1` done}traverse(){# Traverse a directoryls "$1"while read ido depth $2 if [ -d "$1/$i" ] then echo Directory: $1/$i traverse "$1/$i" `expr $2 + 1` ...
Subscribe to:
Posts (Atom)