1.5各种引号的使用
单引号与双引号——“” ,‘
单引号和双引号作用都是将范围里的所有引用为一个整体
可以将特定有含义的字符用引号变为一个整体进行引用
反引号——``
反引号是一个命令替换符号,可以使用命令的结果代替命令
例如:
tar -czf /rootlog.tar.gz /var/log
这个命令可以进行log的备份,但是如何实现备份数据按照当前时间进行命名
tar -czf /root/log-`date +%Y%m%d`.tar.gz /var/log
这样通过反引号就可以将命令执行的结果作为名称对备份文件进行命名
反引号不支持嵌套
$()
可以进行命令替换,也可以进行嵌套
touch $(date +%Y%m%d)-log.sh
创建当前时间的脚本——20220618-log.sh
1.6变量
变量定义规则:只可以英文字母、数字和下划线进行定义,不可以以数字开头
脚本案例:
#!/bin/bash
localip=$(ifconfig ens32 | grep netmask | tr -s " " | cut -d" " -f3)
men=$(free |grep Mem | tr -s " " | cut -d" " -f7)
cpu=$(uptime | tr -s " " | cut -d" " -f13)
echo "本机ip地址为:$localip"
echo "本机剩余内存为:$men"
echo " 本机cpu十五分钟负载为:$cpu"
tr -s “” 命令
该命令可以将内容以“ ”中的内容进行合并输出
[root@localhost ~]# echo "223242222225" | tr -s "2"
232425
cut -d “” -fx 命令
该命令可以将内容以“ ”中的内容进行分隔,并特定的获取某一个部分
[root@localhost ~]# echo "1-2-3-4-5" |cut -d"-" -f3
3
常见系统预设变量
$? :返回上一条命令退出的时候状态码——0为正常,非零代表失败
$$:返回当前进程的进程号
$! :返回最后一个后台进程的进程号
UID:当前账户的id号
USER:当前账号的用户名称
HOME:当前账户的根目录
PATH:命令搜索路径
PWD:返回当前工作目录
RANDOM:随机返回0~32767的整数