shell扩展

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正则
(?<=查找什么右边的内容)要查找的内容 零宽度正回顾后发断言
要查找的内容(?=查找什么左边的内容)零宽度正预测先行断言

发布了35 篇原创文章 · 获赞 0 · 访问量 970

猜你喜欢

转载自blog.csdn.net/weixin_45446068/article/details/104007397
今日推荐