Linux脚本编程——shell脚本基础1
1 指定运行的shell
#!/bin/bash
2 变量赋值
和语言一样,赋值一般用 =
来表示,不同的是 =
两边不可以有空格存在。
var=world
#使用 '' 来包裹一个文本
var='abc def'
#使用 "" 来包裹一个文本
var="abc def"
#使用 `` 来包裹一个命令,及var被赋值为 date 命令返回的值
var=`date`
#将变量的值赋值给变量
var=$another
#从用户键盘输入值给变量
read var
3 引用变量
echo $var
echo hello$var
#bash把varIsgood整体当作变量名
echo $varIsgood
#bash通过${}识别变量var
echo ${var}Isgood
#双引号包裹的变量名能识别var
echo "hello $var"
#单引号不能识别,将打印 hello $var
echo 'hello $var'
3 数学运算
bash运算一般通过 $(())语法来进行
#失败的运算,result赋值为文本 "1+2"
result=1+2
#正确的运算示例,结果为12
echo $((2+(5*2)))
var=1
echo $(($var+(5*2)))
result=$((1+2))
4 返回码
bash每个命令一般都会有个返回码,通过返回码可以判断出命令是否执行成功。
通过 $?
来表示返回码。
#打印 rm 命令的返回结果
rm none_exist_file
echo $?
#参考前面命令返回值,前面执行成功则后面命令才执行
rm demo.file && echo "rm succeed"
#参考前面命令返回值,前面执行失败则后面命令才执行
rm demo.file || echo "rm failed"
5 脚本参数
执行脚本时,可以给脚本指定参数,例如命令 ./test.sh hh xx
给 test.sh 指定 hh xx 两个参数。
在脚本中,可以通过变量 $0 $1 $2 … $n 来引用参数, $0 是命令第一部分 ./test.sh
6 脚本返回码
返回码使用 exit n
来表示,
在脚本中出现 exit ,那么脚本直接在这一行停止,类似 c 中得到 return 函数。
7 shell示例——打印cpu系统信息到文件
新建脚本文件 vi test.sh
直接打印到 cpu_log.txt 文件中
#!/bin/bash
echo "Information of Sixer's computer" > cpu_log.txt
lscpu >> cpu_log.txt
uname -a >> cpu_log.txt
free -h >> cpu_log.txt
exit 0
通过参数指定要打印的文件 ./test.sh cpu_log.txt
#!/bin/bash
echo "Information of Sixer's computer" > $1
lscpu >> $1
uname -a >> $1
free -h >> $1
exit 0