字符串的操作
echo ${hdsx}
www.hdsxtech.com
[root@kdbdomain ~]# echo ${
#hdsx
} 获取长度
16
[root@kdbdomain ~]# echo ${hdsx:1:2} 截取
echo ${hdsx: -3} 从后面截取
echo ${hdsx#*h} 匹配h字符, 之前的不要
echo ${hdsx##*h} 匹配到最后一个h字符, 之前的都不要
echo ${hdsx%h*} 从右侧匹配到第一个h字符, 之前都不要
echo ${hdsx%%h*} 从右侧匹配到最后个h字符, 之前都不要
echo ${hdsx/h/a} 从左往右替换第一次看到的h字符
echo ${hdsx//h/a} 从左往右替换到所有的h字符
echo ${hdsx/
#w
/a} 只会从行首进行查找然后进行替换
echo ${hdsx/%w/a} 只会从行尾进行查找然后进行替换
echo ${hdsx//h} 把所有的匹配到的h 删除
echo ${hdsx/
#h
} 从行首匹配h 并删除掉
echo ${hdsx/[x-y]} 把所有匹配到x-y 删除一个
echo ${hdsx//[x-y]} 把所有匹配到x-y 都删除掉
echo ${hdsx^^} 转大写
echo ${hdsx,,} 转小写
echo ${hdsx1:-aaa} 为空或不存在时, 返回默认值,值是不改变的
echo ${hdsx1:=-aaa} 为空或不存在时, 返回默认值,值改变
echo ${hdsx2:?command not find} 为空不存在当成错误消息返回
echo ${hdsx:+command not find} 如果存在返回后面的值
数组操作
特点
稀疏格式的数组
仅支持一维的数组
a[1]=a2 赋值1个
a=(a,b,c,d) 赋值多个
logs=($(ls /var/log/*.log)) 将ls 的 结果 赋值
read hdsx 给变量赋值
read -a hdsx 当成数组赋值, 按空格分割
echo ${hdsx} 默认返回第一个数组
echo ${hdsx[*]}/ echo ${hdsx[@]}
查看数组所有的元素
${
#hdsx
[@]} 返回数组的元素
${
#hdsx
[1]} 返回角标是1 的元素的长度
echo ${hdsx[@]:0:2} 截取数组的两个长度 offset:length length 省略就是截取所有的
unset arr[0] 删除 一个元素
./sleep.sh & 从后台运
2015-07-10 21-38-04-624 15m
nohup sleep.sh & 关闭窗口的时候不会关闭进程
ll > b.txt 标准输出 重定向 (覆盖)
ll >> b.txt 将标准输出重定向(追加)
lk 2> b.txt 获取标准错误输出
lk 2> b.txt 2>&1 将标准的错误输出也重定向到标准输出
ls >/dev/null 对于返回值不需要
执行定时任务
crontab ***** 默认每一分钟执行一次
怎么实现 找一个 例子 就可以了
service rsyslog status 监听日志的服务
tail -10 a.txt
tail -f a.txt 实时跟踪文件的变化
ntpdate time.nist.gov 同步时间
crontab 最好制定全路径
PS 命令
jps :只显示java 进程
相当于 :ps -ef|grep java
05:00
ps 与 jps 的 区别
菜单的功能
echo -e (转义转义字符)