2020年1月16
一、正则表达式
如在文件cxn.txt里有字符串aaa13323456789bbb、a320324200001237777c、
cxn@qq.com、cxn@163.com
写一个关于手机号的正则:
[ben@localhost Desktop]$ grep "1[0-9]\{10\}" cxn
aaa13323456789bbb
写一个关于邮箱的正则表达式
C grep "[0-9\|a-z]\+@[0-9\|a-z]\+\.com" cxn
cxn@qq.com
cxn@163.com
二、shell编程
- shell中的环境变量
2.shell中的变量
变量分为临时变量和永久变量
(1)临时变量:shell程序内部定义,包括用户自定义变量和位置变量
(2)永久变量:即环境变量,值不随shell脚本的执行结束而消失
变量命名:字母数字或下划线组成,不能以数字开头,读取变量时加$,如果值中有空格,需要用引号,单引号不解析其中变量照样显示;双引号会把变量解析出来
(3)export
在命令行中设置的变量是当前shell的局部变量,export变为环境变量,但仅限于当前会话,如需每次会话都能访问,需要加载/.bashrc或/.bash_profile中 - 简单的shell
#!/bin/sh
time=`date` #写变量时不需要加$
echo $time #读取变量时要加$
time=`date +"%Y-%m-%d"`
echo $time
- 单引号和双引号的区别
单引号不解析字符串中以 打 头 的 变 量 , 原 样 输 出 双 引 号 会 解 析 字 符 串 中 以 打头的变量,原样输出 双引号会解析字符串中以 打头的变量,原样输出双引号会解析字符串中以打头的变量,such as:
#!/bin/sh
time=`date +"%Y-%m-%d"`
echo 'the time is $time'
echo "the time is $time"
输出结果为:
[ben@localhost Desktop]$sh 888.sh
the time is $time
the time is 2020-1-16
- if -else
大于 -gt、小于 -l t、等于 -eq、不等于 -ne
#!/bin/sh
if [ $# -lt 3 ]; then
echo "error"
else
echo "ok!!"
if [ $1 -lt $2];then
max=$2
else
max=$1
fi
if [ $max -lt $3 ];then
max=$3
fi
echo "max=$max"
fi
输出:
[ben@localhost Desktop]$sh 888.sh 10 20 30
ok!!
30
- 测试语句
用于测试变量是否相等,是否为空,文件类型
test:测试范围,整数,字符串,文件
ge大于等于,le小于等于,,ne不等于,lt小于
test -b file文件存在并且是块设备文件
-c文件存在并且是快字符文件
-d文件存在并且是目录
-e文件存在
-f文件存在并且是常规文件
-h(L)文件存在且是符号链接
-rwx文件存在切可读可写可执行
#!/bin/sh
if[ -d $1 ];then
echo "$1 is a directory."
elif [ -f $1 ];then
ehco "$1 is a commen file."
elif [-c $1 -o -b $1];then
echo "$1 is a device file."
else
echo "$1 is a unknownfile
fi
三、开发环境搭建eclipse
然后退出虚拟机系统重新登录
点击此图标
当出现以下情况时
说明虚拟机系统中缺少 g++,应打开terminal,使用root用户登录
输入 yum install gcc-c++
安装完成后再次输入g++,测试成功
关掉eclipse,重新打开