脚本

变量:
自定义变量
设置:
name=zhangsan
read -p "请输入你的名字: " name
查看:
echo $name
echo ${name}

set env

分类:
局部变量
全局变量:
name=zhangsan
export name

export name=zhangsan
取消变量:
unset name

环境变量
PWD HOME USER PATH SHELL RANDOM PS1
位置变量
$1~$9 ${10}...
预定义变量
$? $# $* $@ $0

SHELL计算:
expr 10 + 10
echo $((10+10))
echo $[10+10]
echo "10+10" | bc
let i++

sed后向引用:
ifconfig ens32
------------------------------------------------------------------------
inet 192.168.20.1 netmask 255.255.255.0 brodcast 192.168.200.255

ifconfig ens32 | sed -nr '2 s/(.*)t (.*) n(.*)/2/gp'

grep -Eo "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
grep -Eo "([0-9]{1,3}.){3}[0-9]{1,3}"


通配符:文件名
*

正则表达式:文件内容
.
*
.*
[a-z]
[^a-z]
{n}
{n,m}
{n,}

^
$
^$
<
>

+
?
|
()

() 正则表达式:表示整体
(()) for循环类C风格: for ((i=1;i<=9;i++))
$() 命令执行结果提取 a=$(ls -l /)
$($()) 命令执行结果提取:嵌套
$(()) shell运算
[] 正则表达式:[a-z]
$[] shell运算
${} shell 变量值引用echo ${name}
{3} 正则表达式:重复前面的字符串3次
{1..3} touch {1..3}

原文地址:https://www.cnblogs.com/maoyanqing/p/11489916.html