1.脚本的执行方法
1.sh script.sh | bash script.sh ##没有执行权限时
2.path/script.sh | ./script.sh ##绝对路径,当前目录下
3.source script.sh | . script.sh ##这种方式会使用source或.号来读如指定shell文件,并会把其他shell中的变量值或函数返回给父shell继续使用
例如:我们写简单脚本test.sh:
内容是输出Hello world:
在没有加执行权限的情况下:
可以通过sh或者bash来执行:
或者通过source和. 来执行:
未加执行权限的情况下,不能通过绝对路径来执行:
加上执行权限,可以正确执行:
2.变量定义与赋值
格式:变量名=值
变量赋值的几种方式如下:
1.直接赋值:a=hello
2.直接赋值:b=‘ westos-$a’
3.直接赋值:c=“westos-$a”
4.将命令的结果赋值给变量:
两种方式如下:
练习:打包日志:
3.特殊变量
$0:获取脚本文件名,如果执行时包含路径,则输出脚本路径
$n(>0):表示脚本执行时跟在执行语句后的第n个变量
$#:所有的变量个数
1.$0:
写脚本如下:
执行此脚本,通过绝对路径执行时,可看到$0的输出是此脚本的绝对路径:
2. $n:
执行结果如下:
注意:
若我们在脚本中包含10个以上变量,必须将${10}写成此形式磁能正确执行如下:
否则执行结果会出错:
3.$#
实验如下,当有26个变量时,我们可以看到\ $#的输出为26:
4.$?
当上一条命令执行成功后,我们可以看到$?的值为0:
否则为非0:
4.read命令
read命令可以用来接受用户输入的参数,用法如下:
或者:
5.变量的数值计算
1.expr命令用法如下:
2.$[]和$(())表达式:
3.let命令(let命令在执行后会覆盖原来的值保存新的值)
4.小数计算:
练习:计算两个数的加减乘除
1.写脚本如下:
2.运行结果如下: