国内最全IT社区平台 联系我们 | 收藏本站
阿里云优惠2流量王
您当前位置:首页 > php开源 > 综合技术 > shell 初识

shell 初识

来源:程序员人生   发布时间:2016-08-02 09:10:26 阅读次数:1023次

1.shell简介

1.1 shell

Shell 是1个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是1种命令语言,又是1种程序设计语言。 Shell 是指1种利用程序,这个利用程序提供了1个界面,用户通过这个界面访问操作系统内核的服务。

1.2 shell脚本

Shell 脚本(shell script),是1种为shell编写的脚本程序。

1.3shell类型

bash csh dash ksh ....

2.shell入门

2.1编写第1个shell脚本

test.sh: #!/bin/bash echo "Hello World !" 注: #!为1个约定的标记,指定shell的相应类型,用甚么解释器履行

2.2履行脚本

1. #chmod +x test.sh #./test.sh 2. /bin/bash test.sh

3.shell 变量

3.1变量定义

var=val var="val" var='val' 循环赋值: for file in 'ls /etc' 规则: 1.变量定义时,不使用$符号; 2.变量名与等号之间不能有空格; 3.首个字符必须为字母(a-z,A-Z); 4.中间不能有空格,可使用下划线(_); 5.不能使用标点符号; 6.不能使用bash里的关键字(可用help命令查看保存关键字)。

3.2使用变量

var=val echo $var echo $(var)

3.3只读变量

通过readonly关键字声明: var=val readonly var

3.4删除变量

通过unset关键字声明: var=val unset var

3.5变量类型

环境变量: 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也能够定义环境变量。 局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 shell变量:shell变量是由shell程序设置的特殊变量。shell变量中有1部份是环境变量,有1部份是局部变量,这些变量保证了shell的正常运行

3.6shell字符串

1.字符串声明: 单引号: str='string' 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。 双引号: str="string" 双引号里可以有变量; 双引号里可以出现转义字符 无引: str=string 2.拼接字符串: your_name="qinjx" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1 3.获得字符串长度: string="abcd" echo ${#string} #输出 4 4.提取子字符串: string="runoob is a great site" echo ${string:1:4} # 输出 unoo 5.查找子字符串: string="runoob is a great company" echo `expr index "$string" is` # 输出 8 注意: 以上脚本中 "`" 是反引号,而不是单引号 "'"

3.7shell数组

bash支持1维数组(不支持多维数组),并且没有限定数组的大小。 1.定义数组 array=(val0 val1 val2 ...) array_name=( value0 value1 value2 value3 ) array_name[0]=value0 array_name[1]=value1 array_name[n]=valuen 2.读取数组 ${array[index]} 通过"@"取得数组中的所有元素: echo ${array[@]} 3.获得数组长度 获得数组元素个数: length=${#array[@]} length=${#array[*]} 取得单个数组元素的长度: length=${#array[n]}

3.8shell注释