shell脚本的首行
#!/bin/bash
输出变量
反引号(`)
·$()格式
重定向与追加
重定向:(>)
data>文件.txt 将data添加到文件中,原文件内容替换成data
追加:(>>)
data>>文件.txt 将data添加到文件中,原文件内容保留,多了data内容
数学命令(expr与方括号[])
这两个命令只支持整数运算
#!/bin/bash
var1=2
var2=3
var3=5
var6=$[var1 + var2]
var7=$[var2*var3]
echo $var6
echo $var7
输出:
5
15
查看退出状态码
echo $0
if-then
if command
then
commands
fi
if-then-else
if command
then
commands
else
commands
fi
嵌套if语句
if command1
then
commands
elif command2
then
more commands
fi
文件比较
case命令
case命令会将指定变量与不同模式进行比较。如果变量与模式匹配,那么shell就会执行为该模式指定的命令。你可以通过竖线运算符在一行中分隔出多个模式。星号会捕获所有与已知模式不匹配的值
$ cat extractoptions.sh
#!/bin/bash
# Extract command-line options
#
echo
while [ -n "$1" ]
do
case "$1" in
-a) echo "Found the -a option" ;;
-b) echo "Found the -b option" ;;
-c) echo "Found the -c option" ;;
*) echo "$1 is not an option" ;;
esac
shift
done
echo
exit
$
$ ./extractoptions.sh -a -b -c -d
Found the -a option
Found the -b option
Found the -c option
-d is not an option
$