Shell基础知识
补充:
笔记中特殊符号: 1)' ':待填写的内容;2)。。。:任意数量和运算
Shell中的注释:以#开头
一、变量与运算符
1.变量
1)变量的声明与取值
'变量名' = '变量值。。。'
$
'变量名'
2)变量的参数
$0
$1
${10}
$
$*
$@
$?
2.运算符
$(('运算式'))
$
['运算式']
二、条件判断
1.判断格式
[ '判断条件' ]
[ -x
...
]
[ -a
... -b
]
=
-n
-lt
-le
-eq
-gt
-ge
-ne
-r
-w
-x
-f
-e
-d
2.三元运算
[ '判断条件' ] $$
'判断为true执行此处' || '判断为false执行此处'
[ '判断条件' ] $$
"可以是[ '判断条件' ]" || '也可以是值'
三、流程控制
1.if
if [ '条件判断' ]
then
'执行语句'
elif [ '条件判断' ]
then
'执行语句'
else
'执行语句'
fi
2.case
case $
'变量名' in
"'值1'")
'变量的值等于值1,执行此语句 '
;;
"'值2'")
'变量的值等于值2,执行此语句 '
;;
*)
'变量的值都不是以上的值,执行此语句 '
;;
esac
3.for
for (( '初始值';'循环控制条件';'变量变化' ))
do
'执行语句'
done
for '变量' in '值1 值2 值3。。。 '
do
'执行语句'
done
4.while
while [ '条件判断' ]
do
'执行语句'
done
四、输入与输出
1.输入
read -t
'输入等待时间' -p
'提示内容' '变量名'
2.输出
echo '字符串'
echo $
'变量名'
五、函数
5.1、系统函数
basename '字符串/文件名' '要去掉的文件后缀'
dirname '文件路径'
5.2、自定义函数
[ function ] funname
[()]
{
Action
;
[return int
;]
}
funname
六、Shell工具
1.cut
cut -d
'指定以什么字符进行切割' -f
'提取切割的哪几列' '文件名'
cut -d
'字符' -f
'1,2。。。' '文件名' | grep '过滤字符' | cut -d
'字符' -f
'1,2。。。' | 。。。
2.awk
awk -v i
=1 -F:
'/^root/{print $3+i","}' '文件名'
FILENAME
NR
NF
六、正则表达式
1.基本语法
'ls' | grep '正则表达式'
2.常用正则
^
'字符A'
'字符B'$
^$
.
*