欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell总结

程序员文章站 2022-06-11 19:31:14
...

Shell

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

变量定义

`` 执行符:执行 `command`中的指令
'' 单引号:取消'string'中的特殊字符,如$
"" 双引号:"xxx xxx"表示一个字符串

命名只能使用英文字母[a-zA-Z],数字[0-9]和下划线[_],首个字符不能以数字[0-9]开头
中间不能有空格[ ],可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)

定义如下:(=号不能有空格)
aa10_=10

参数处理
$* 返回所有的参数,如果"$*" 返回的信息 "param1 param2 param3 ..."
[email protected] 返回所有的参数,如果"[email protected]" 返回的信息 "param1" "param2" "param3"
$? 返回上一个命令结果,0或者1 0表示执行成功 1表示执行失败

字符串处理
aa10_a='aaaaabaaa'
打印字符串的长度
echo '${#aa10_a}'
打印字符串的子串
echo '${aa10_a:1:4} 

数组
array_name=(
'abcd'
'abcd'
'abdd'
)
array_name[4]='bbbd'
读取数组
${数组名[下标]}
所有数组
${数组名[@]}

注释
# aa 
# bb

数值相加
num1=1
num2=2
num3=`expr $num1 + $num2`

操作符

算术运算
+ - * / != == =(赋值)

关系运算 great  equal less 
-gt >  -ge >=
-lt <  -le <=
-eq =  -ne !=

布尔运算 or all not 
-o 或  -a 与  ! 非

字符串运行操作
=  字符串相等
!= 字符串不相等
-z 字符长度为0  zero
-n 字符长度不能0 not zero
$  检测字符串是否为空,不为空返回 true

文件判断
-e exists
-d directory
-w write 可写
-r read 可读
-x x 可执行
-s size 文件是否为空

逻辑运算

格式
[ condition ]

if [ 9 -lt 10 ]
then

fi

for var in array_param
do

done

while [ condition ]
do

done

case var in 
1)#模式
    command;
    command;
    ;;
2)#模式
    command;
    command:
    ;;
esac

函数

函数定义
[function] func_name()
{
    action;
    [return int;]
}
函数调用 
func_name param

重定向

0:标准输入
1:标准输出
2:标准错误输出
> 输出
< 输入
>> 追加
2>&1 标准输出与错误输出

command << delimiter
    document
delimiter
如
wc -l << EOF
    aaa 
    bbb
    ccc
EOF

不想输出到屏幕
command >> /dev/null

交互输入
while read line
do
    echo ${line}
done

 

相关标签: Shell