Linux的第三天

字符串运算符

=:判断两个字符串是否相等


!=:判断两个字符串不等

-z:判断字符串长度为0

【图1】


str:判断字符串长度是否为0,字符串是否存在

if [ $string1 ]不用写入str

【图8】

文件运算符

-d:判断是否是目录文件

-f:判断是否是普通文件

-r:判断是否具有可读权限

-w:判断是否具有可写权限

-x:判断是否具有可执行权限

-e:判断文件是否存在

【图7】

case语句

case 操作数 in

模式1)

语句1

;;

模式2)

语句2

;;

模式3)

语句3

;;

*)相当于IF语句中的else

语句4

;;

esac

注意:*是不需要""

while[条件]

do

语句

done

【图9】

shell参数

$0:代表这个可执行文件本身

$1:第一个参数

$2:第二个参数

$n:第n个参数

$#:参数的个数

$@:"1" "2"

$*:"1 2"

$?:它是保存最后一次运行的SHELL函数RETURN出来的值

0.是否有参数

1.判断执行的文件是否存在

2.如果不存在,输出错误

3.如果存在,运行

for循环

for 变量 in 参数列表

do

语句

done

数组

1>定义: array=(1 2 3)

2>定义: array[0]=1

array[4]=5

数组元素访问

${数组名[下标]}  #加上{},表示为一个整体

访问数组所有的元素

${array[@]}

${array[*]}

@和*的区别,例:

array=(1 2 3)

${array[@]} "1" "2" "3"

${array[*]} "1 2 3"

[图10]

shell函数

1>函数的定义

function functionname

{

语句

}

functionname函数的使用



【保存要注释的部分到函数里,不去调用它就可以完成多行注释】

2>如果shell函数传参,传的参数大于等于10个,在函数里面取第10个数${10}

3>函数的返回值由$?去接收

$?:它是临时保存最后一次运行的shell函数的return出来的值

如果return $value出来的值$value>255,实际上返回出来的结果应该是$value%256

如果需要接收比255大的数,使用echo命令去保存shell函数的结果集,接收用另外一个变量value去保存结果集,然后再进行运用,实际上value保存到结果是shell函数echo后面的结果

function sum()

{

echo "===="

}

value=`sum`

printf "%s\n" "$value"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容