After going slowly crazy trying to remember how an if statement is formed in shell with its lovely and entirely useless help messages.
I've decided to post this:
#!/bin/sh
FULLHOSTNAME=`hostname -f`
if [ "$FULLHOSTNAME" = "loneqflocfd0025.uk.db.com" ]; then
echo "hi"
fi
Notes:
You need a space after '[' and before ']'
You need a ';'
...and while I'm here - here is how to do a regex if:
if [[ "los" =~ lo.* ]]; then
...String matching with variables
When comparing strings " is very different to '
' will not evaluate variables
" will evaluate them
Hence:
fish=haddock
echo 'Hello $fish'=== Hello $fish
echo "Hello $fish" === Hello haddock
Using dates and comparing current time with something that may have taken less than 2 seconds:
start=`date +%s`
# Do something
now=`date +%s`
if [ $start -gt $((now - 2)) ];
then
printf "Fast fail detected. I know about:\n"
fi
No comments:
Post a Comment