echo 1+1|bc 需下载
echo ‘scale=2;10/3’ |bc -l 指定保留几位小数
echo $((1+1)) 括号内的变量不加$,打印时加括号前加$不打印双括号直接运算
let i++ 没有定义的话可以定义变量 只能写成i++的格式
awk ‘BEGIN{print 1/3}’
expr 10 * 3 乘号需要转义 空格分隔
echo $[1+1]
命令后加&后台运行
ctrl+z后台挂起
kill %数字杀死顽固进程
bg后台挂起的继续运行
jobs查看后台运行
#rename 找谁 替换为什么 范围 批量更改文件名称
continue 退出本次循环
break 结束循环
echo -n 不输出换行符
echo 输出换行符
echo -e 设置字体颜色
开始\E[1(字体格式);31(字体颜色);41(背景颜色)m结束\E[0mman手册
[root@localhost ~]# cat .vimrc
autocmd BufNewFile *.sh exec ":call SetTitle()"以sh结尾的文件
func SetTitle()
if expand("%:e") == 'sh' 设置sh文件的格式
call setline(1,"#!/bin/bash")sh格式
call setline(2, "# File Name: ".expand("%"))文件名称
call setline(3, "# Created Time : ".strftime("%F %T"))修改时间
endif
endfunc
定义数组的方法
array[1]=…
array[2]=…
array=(10.0.0.1 10.0.0.2)索引从0开始
${#array}元素的个数
${array[*]}所有的元素
array=(cat /etc/passwd
)
[root@localhost ~]# set a b
[root@localhost ~]# echo $1 $2
a b
[root@localhost ~]# shift
[root@localhost ~]# echo $1 $2
b
shift向右移动
sed ':a;N;s/\n/ /g;ta’将换行符替换为空格
sed工作过程一行一行执行
N将下一行内容也添加到模式空间
:a;打标签,任意名称循环的意思 末尾;ta
perl正则更擅长查找左边或右边的内容
grep -P 识别perl正则
(?<=查找什么右边的内容)要查找的内容 零宽度正回顾后发断言
要查找的内容(?=查找什么左边的内容)零宽度正预测先行断言