今天为大家带来了shell的基础学习
一.基础shell
1.echo输出命令
语法:echo [选项] [输出内容]
选项: -e:支持反斜线控制的字符转换
\\:输出\本身
\b:退格键
\n:换行符
\t:制表符
\v:垂直制表符
2.脚本执行
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
通过bash调用执行文件
bash helle.sh
脚本文件转换:win转unix:dos2unix [文件名]
unix转win:unix2dos
3.历史命令
语法:history [选项] [历史保存文件]
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改
选项:
-c:清空历史命令
-w:把缓存中的历史命令保存文件【~/.bash_history】
4.别名
alias 自定义名称 = 命令
永久生效:/root/.bashrc
unalias:删除别名
5.多命令顺序执行
; :多个命令执行,没有逻辑关系
&&:当命令1正确执行,则命令2才执行,命令1执行错误,2则不执行
||:当命令1执行不正确,则命令2才执行,执行正确,命令2不执行
格式:命令1&&命令2
6.本地变量
变量定义:name=“love 233”
变量叠加:aa=123
aa=“$aa”456
aa=${aa}789
变量调用:echo $name
变量查看:set
变量删除:unset name
7.环境变量
申明变量:export 变量名=变量值
查询变量:env
删除变量:unset 变量名
8.位置参数变量
位置参数变量
作用
$n: n为数字,$0代表命令本身,$1-$9代表第到第九个参数,十以上的参数需要用大括号包含,如$(10].
$* : 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@: 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$#: 这个变量代表命令行中所有参数的个数
9.预定义变量
预定义变量:$?
$!作用$?:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确
: 当前进程的进程号(PID)
$! : 后台运行的最后一个进程的进程号 (PID)
10.键盘输入
语法:read 【选项】 【变量名】
选项:
-p“提示信息”:在等待read输入时,输出提示信息
-t 秒数:read命令等待用户的指定时间
-n 字符数:read命令只接受指定的字符数,在到达指定字节自动下一步
-s:隐藏输入的数据
11.变量类型
1.declare 声明变量类型
语法:declare [+/-] [选项] 变量名
选项:
-:给变量设定类型属性
+:取消变量的类型属性
-i:将变量声明为整数型
-x:将变量声明为环境变量
-p:显示指定变量的被声明的类型
2.expr或let数值运算工具
格式:变量名=$(expr $aa + $bb) #运算符两侧加空格
3. $((运算符)) 或 $[运算符]
12.变量测试与内容替换
13.配置文件 source命令 让配置文件直接生效
语法:source 配置文件
或: .配置文件
14.配置文件
shell登录信息
2.登录后欢迎信息:/etc/motd
不管是本地,还是远程登录,都可以显示此欢迎信息
谢谢大家今天的学习。