基础
变量
1.定义变量
实例:
1 | 变量名一般都是由字母、数字、下划线组成的,变量名不能以数字开头 |
变量的内容可以用单引号、双引号引起来,同时也可以不加引号,但是这三者的含义是不一样的
1.当我们不加单引号时必须是连续的字符串才可以;如果加了''号那么结论是当变量名写什么那么它就会输出什么
2.""这种定义的方式特点是:输出变量内容时引号变量及命令会经过解析后在输出
1 | 变量名=`ifconfig` |
同时我们也可以在命令段的前后加反撇号
1 | IP=`ifconfig` |
注意:在=之后没有空格,当变量名称容易和紧跟其后的其他字符混淆时,我们可以用{}来解决
2.特殊变量
在shell中存在着一些特殊而又重要的变如:$1 $0 $#,我们称为特殊的位置变量要从命令行,函数,脚本,等传递参数时,就需要在shell脚本中使用位置参数变量
- $0:显示当前的脚本文件名,如果在执行脚本时添加了路径,那么全部都会输出
- $n:获取当前执行的shell脚本的第n个参数值比如:[n=1..9],如果N大于9那么就要使用{}来定义 比如${10}
- $#:获取当前shell脚本后面接的参数的个数
- $:获取当前脚本的参数,不加引号和$@是一样的 加了引号;例如”$“ 则表示单个字符串。相当于”$1 $2 $3”
- $@:同样也是获取当前shell的参数,不加引号和$*是一样的,那么加了引号如:”$@” 表示将所有的参数视为不同独立的字符串,相当于”$1” “$2”..
- $?:表示上一个命令执行的结果0为成功,1为失败
- $$ 和 $!都是获取脚本进程号PID
1 | !/bin/sh |
3.变量数值计算
shell也有很多的运算符如下:
+、-、:代表着加号 和减号 或者,负号
*、/、%:代表着乘号,除号,和取模。
** :幂运算
++、-- :表示着增加或者减少,它可以放在前置,也可以放在变量的结尾
!、||、&&:(取反)(或)(and)
<、<=、>、>= :比较符号,小于、小于等于、大于、大于等于
==、!=、= :相等,不相等, =表示相等于
<< >> :向左移动 向右移动
算术运算命令:
(()) 用于整数之间常用的运算符,效率高
let :用于整数运算,类似于(())
expr :用于整数运算,但是还有其他功能
bc :Linux下的一个计算程序,适合整数及小数运算
$[] :用于整数运算
awk:awk既可以整数运算,也可以小数运算
declare: 定义变量值和属性,-i参数可以用于定义整形变量,做运算
实例
1 | [ ${#a} -le 0 ] #a是一个变量了 如果a长度小于0 |
判断
if语句
循环
函数
调用
常用命令
文件
创建文件
1 | touch text.sh #创建文件 |
重定向
1 | echo "xxxx" > path/file.log #重新创建,存在则删除 |