Bash basics: Difference between revisions
No edit summary  | 
				No edit summary  | 
				||
| Line 15: | Line 15: | ||
* To capture output  | * To capture output  | ||
<pre>myout=`program1 param`;</pre>  | <pre>myout=`program1 param`;</pre>  | ||
* To check for an error  | |||
<pre>mkdir "$d2"  | |||
if [ $? -gt 0 ]; then  | |||
   echo "mkdir error, try that again..."  | |||
   exit 3  | |||
fi  | |||
</pre>  | |||
* To read input from user  | |||
<pre>echo "Create the subdirectory?  [$d2]"  | |||
if read answer; then  | |||
    if [ ${answer} = "y" ] || [ ${answer} = "yes" ]; then  | |||
        {whatever}  | |||
    else  | |||
        {whatever}  | |||
    fi  | |||
fi</pre>  | |||
Revision as of 20:01, 31 January 2011
Bash certainly has its set of snafus.
- To store commands in variables:
 
# NOTE don't put spaces around equals sign! # NOTE don't use ampersands within command strings, they won't work # use a blank command if needed, that's fine mycmd1="command param param" mycmd2="cmd2 param" if [ -e /myspecialplace ] mycmd2="" fi mycmd3="cmd3 param" $mycmd1 && $mycmd2 && $mycmd3
- To capture output
 
myout=`program1 param`;
- To check for an error
 
mkdir "$d2" if [ $? -gt 0 ]; then echo "mkdir error, try that again..." exit 3 fi
- To read input from user
 
echo "Create the subdirectory?  [$d2]"
if read answer; then
    if [ ${answer} = "y" ] || [ ${answer} = "yes" ]; then
        {whatever}
    else
        {whatever}
    fi
fi