变量:
自定义变量
设置:
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}