Little Useful Functions
The Real Dir of Script itsef
sometimes we need to change dir to the real path of a script and do something. But this little thing is very hard to make it works in lots of Linux Distribution and Mac OS X. The snippets below is work on CentOS, Ubuntu and Mac OS X 10.10.
#!/bin/sh
# read link
_script="$(readlink -n ${0})"
if [[ $_script = '' ]]; then
# when call script without symbolic, readlink will return empty string
pushd `dirname $0` > /dev/null
_script=`pwd`
popd > /dev/null
else
_script="$(dirname $_script)"
fi
echo 'the real path is ' $_script
command usage
echo color
16color syntax:
# \033 is the Escape symbol in ASCII, it can also written in \x1b
echo -e "\033[${attr};${clbg};${clfg}m${renderText}\033[0m"
# -e explain as use string escape
# if you let \033[ in a variable, -e is not necessary. such as
start="\x1b["
end="\x1b[0m"
echo "${start}${attr};${clbg};${clfg}m${renderText}${end}"
which attr
is control number, clbg
is background color, clfg
is foreground color.
The detail is in tip_colors_and_formatting