发现直接上代码比用文字说明要快的多。这里把常用的语法示例列出,以备日后查询。
#!/bin/bash
# a note.
# define Constant
declare -r TITLE="THIS IS TITLE" # shell would prevent any subsequent assignment to TITLE
echo $TITLE
# function demo
say_hello() {
echo "hello"
return
}
function say_hello2() {
echo "hello2"
return
}
# invoke function
say_hello
# here document
cat << END_HERE
hello man,
I'm Neo Smith!
END_HERE
# here document without leading tabs
cat <<- END_HERE
ignore leading tab.
END_HERE
# if statement
FILE="/home/whf"
if [ ! -e "$FILE" ];then
echo "file does not exist"
exit 1
fi
if [ -f "$FILE" ]; then
echo "regular file"
elif [ -d "$FILE" ]; then
echo "directory"
else
echo "none of them"
fi
# integer
num=5
if [ $num -eq 0 ]; then
echo "zero"
elif [ $num -gt 0 ]; then
echo "greater than zero"
else
echo "less than zero"
fi
# string
str="hello"
if [ -n "$str" ]; then
echo "not empty"
fi
if [ "$str" == "hello" ]; then
echo "equall to hello"
fi
# operator
# only compatible with bash shell
if [[ $num > 0 && $num < 10 ]]; then
echo "bigger than 0 but less than 10"
fi
# compatible with all kinds of shell
# -a : AND
# -o : OR
# ! : !
if [ $num -gt 10 -a $num -lt 20 ]; then
echo "bigger than 10 but less than 20"
fi
# while-loop
ix=0
while [[ ix -lt 5 ]]; do
echo $ix
ix=$((ix+1))
done