实训目的
项目背景
环境变量
输入env显示系统所有的环境变量
[root@localhost ~]# export ABC=123 定义,export只在当前有效
[root@localhost ~]# env
ABC=123
[root@localhost ~]# echo $ABC 输出值
123
[root@localhost ~]# vim /etc/profile 此配置文件添加参数就可以永久生效
export ABC=123
[root@localhost ~]# source /etc/profile 执行配置文件使其生效或者重启系统
管道
例如提取物理内存使用器情况
[root@localhost ~]# free -m | grep Men
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1821 853 472 11 495 743
Swap: 2047 0 2047
[root@localhost ~]# free -m | grep Mem
Mem: 1821 853 472 11 495 743
[root@localhost ~]#
重定向
标准输出重定向:
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1821 853 472 11 495 742
Swap: 2047 0 2047
[root@localhost ~]# free -m > /root/mem.txt
[root@localhost ~]# cat /root/mem.txt
total used free shared buff/cache available
Mem: 1821 853 472 11 495 742
Swap: 2047 0 2047
[root@localhost ~]#
错误输出重定向:
[root@localhost ~]# mkdir abc
[root@localhost ~]# mkdir abc/
mkdir: 无法创建目录"abc/": 文件已存在
[root@localhost ~]# mkdir abc > error.txt
mkdir: 无法创建目录"abc": 文件已存在
[root@localhost ~]# mkdir abc 2> error.txt 用2>重定向就不会再显示错误信息
[root@localhost ~]# cat error.txt
mkdir: 无法创建目录"abc": 文件已存在
输入重定向
正则表达式
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# touch file1
[root@localhost tmp]# touch file2
[root@localhost tmp]# touch file3
[root@localhost tmp]# touch file4
[root@localhost tmp]# cd
[root@localhost ~]# find / -name file[1234] 正则表达式查找4个文件
/tmp/file1
/tmp/file2
/tmp/file3
/tmp/file4
[root@localhost ~]# cd /var/tmp/
[root@localhost tmp]# touch dianying.rmvb
[root@localhost tmp]# cd
[root@localhost ~]# find / -name *.rmvb 正则表达式中通配符查找
/var/tmp/dianying.rmvb
[root@localhost ~]#
shell编程
[root@localhost ~]# vim test.sh
#!/bin/bash
echo "Hello,world!"
[root@localhost ~]# chmod a+x test.sh
[root@localhost ~]# ./test.sh
Hello,world!
shell编程
[root@localhost ~]# vim test.sh
#!/bin/bash
ABC=123 #赋值
echo $ABC #输出
[root@localhost ~]# ./test.sh
123
read 命令
[root@localhost ~]# vim test.sh
#!/bin/bash
read -p "Please enter your first and last name :" FIRST LAST
echo "FIRST NAME IS : $FIRST"
echo "LAST NAME IS : $LAST"
[root@localhost ~]# ./test.sh
Please enter your first and last name :yu muxi
FIRST NAME IS : yu
LAST NAME IS : muxi
整数值比较
在这里插入图片描述
语法
挂载和卸载脚本
#!/bin/bash
read -p "Shi fou gua zai USB she bei [y/n]:" STR1
if [ $STR1 = y ]
then
mkdir /USB
mount /dev/sdb1 /USB
else
exit
fi
read-p"Shi fou fu zhi wen jian?y/n]:"STR2
if [ $STR2 = y ]
then
ls -R/USB
read -p "Shi fou fu zhi wen jian [y/n]:" STR3
if [ $STR3 = y ]
then
read -p "Qing shu ru yao fu zhi de wen jian ming :" STR4
cp-r $STR4 /tmp
fi
read-p"Shi fou jiang wen jian fu zhi dao USB zhongyn]:"STR5
if [ $STR5 = y ]
then
read -p "Qing shu ru yao fu zhi de wen jian ming :" STR6
cp-r $STR6 /USB
fi
fi
read -p "Shi fou xie zai USB she bei [y/]:" STR7
if [ $STR7 = y ]
then
umount /USB
fi
[root@localhost ~]# vim test.sh
#!/bin/bash
A=10
B=20
if [ $A -lt $B ]
then
echo "A xiaoyu B"
else
echo "A dayu huo dengyu B"
fi
[root@localhost ~]# ./test.sh
A xiaoyu B
计算和
[root@localhost ~]# vim test.sh
#!/bin/bash
i=1
while [ $i -le 100 ]
do
let SUM=$SUM+$i
let i++
done
echo $SUM
[root@localhost ~]# ./test.sh
5050
#!/bin/bash
read -p "Qing shu ru yi ge shu zi : " NUM
i=1
SUM=0
while [ $i -le $NUM ]
do
let SUM=$SUM+$i
let i++
done
echo $SUM
[root@localhost ~]# ./test.sh
5050
[root@localhost ~]# vim test.sh
[root@localhost ~]# ./test.sh
Qing shu ru yi ge shu zi : 10
55