您好,欢迎来到六九路网。
搜索
您的当前位置:首页shell基础语法

shell基础语法

来源:六九路网

1、变量

语法:变量名=变量值
PS:=两边不能有空格

1、使用变量:$变量名
ex:  Name="wendy"#声明变量
     echo $Name 或 echo ${Name}  #输出变量
ps:花括号可选
2、只读变量:readonly 变量
3、删除变量:unset 变量
4、字符串变量长度获取:${#字符串变量}
ps: string="abcd" echo ${#string}  #输出4
5、字符串变量提取部分:${变量:1:4} #表示从第二个字符开始,截取4个字符
ex:string="abcdedfg" echo ${变量:1:4} #输出bcde

 

2、变量类型

局部变量:只对当前shell有效

环境变量:所有程序都能访问环境变量

shell变量:可设置

 

3、符号问题

单引号:变量无效,任何字符原样输出

双引号:可使用变量,可以出现转义字符

ps:拼接字符串用双引号,且变量需要用{}

 

注释问题:

单行注释:#

多行注释: <<EOF 注释内容 EOF(EOF可以替换为其他任意字符)

 

4、数组

定义数组:数据名=(值1 值2 值3...值n)或数组名=(

value0

value1

value2

value3

)或 数据名[0]=value0  数据名[1]=value1

ex:array_name=(value0 value1 value2)


读取数组:${数组名[下标]}

ex:value=${数组名[n]} #@表示获取数组中的单个元素

   length=${#数组名[@ || *]}# @、*表示获取数组所有元素的长度

5、参数处理

$#  脚本后面接的参数的个数

$*  脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开

$@  脚本后面所有参数,参数是的,也是全部输出

$$  脚本运行的当前进程ID号

$!  后台运行的最后一个进程的ID号

$?  上一条命令执行后返回的状态,0表示没有错误,0以外其他所有值表示有错误

6、运算符:

算数运算符: + - * / % = == !=

关系运算符:-eq -ne -gt -ge -lt -le(= != > >= < <=)

布尔运算符:! -o -a(or and)

逻辑运算符: && ||

字符串运算符:= != -z -n $(= != 判断=0为真 判断!=0为真 判断是空为真)

文件测试运算符:(-e -r -w -x -s -d -f -c -b)+文件名 文件存在且可读、可写、可执行、至少有一个字符、是目录、普通文件、字符型特殊文件、块特殊文件

7、shell函数:

[ function ] funname [()]
{
action;
[return int;]
}
或者function fun()
或者fun()
ps:参数返回,可以显示加;

8、shell 输入/输出重定向:

command > file 将输出重定向到file
command < file 将输入重定向到file
command >> file 将输出以追加的方式重定向到file
n >& m   将输出文件m和n合并
n <& m   将输入文件m和n合并
<<tag    将开始标记tag和结束tag之间的内容作为输入
/dev/null:不希望在屏幕上显示输出结果 ,重定向到垃圾箱/dev/null

 

转载于:https://www.cnblogs.com/wendyw/p/115925.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务