shell的变量功能(二)

变量键盘读取,数组与声明:read,array,declare

1. read

读取来自键盘输入的变量,常被用在 shell script 的撰写当中。

用法:

2. declare / typeset

declare 或 typeset 是一样的功能,就是在声明变量的类型。如果使用 declare 后面并没有接任何参数,那么 bash 就会主动的将所有的变量名称与内容通通叫出来, 就好像使用 set 一样。

用法:declare [-aixr] variable

参数:

-a : 将后面名为 variable 的变量定义成为数组 (array) 类型
-i : 将后面名为 variable 的变量定义成为整数数字 (integer) 类型
-x : 用法与 export 一样, 就是将后面的 variable 变成环境变量;
-r : 将变量设置成为 readonly 类型, 该变量不可被更改内容, 也不能重设

3. array

更多详情请参照《鸟哥的私房菜》第三版 第十一章

与文件系统及程序的限制关系:ulimit

我们可以通过bash 限制用户的某些系统资源,包括打开的文件数量、可以使用的cpu 时间、可以使用的内存总量等。如何设置?用ulimit吧

ulimit [-SHacdfltu] [配额]

-H :hard limit,严格的设置,必定不能超过这个设置的数值

-S :soft limit,警告的设置,可以超过这个设定值,但是若超过则有警告信息。 在设置上,通常soft 会比hard 小,举例来说,soft 可设置为80而hard 设置为100,那么你可以使用到90,但介于80~100之间时,系统会有警告信息通知你。

-a :后面不接任何参数,可列出所有的限制额度;

-c :当某些进程发生错误时,系统可能会将该进程在内存中的信息写成文件(排错用),这种文件就被称为内核文件,此为限制每个文件内核文件的最大容量。

-f :此shell 可以创建的最大文件容量(一般可能设置为2GB)单位为kb

-d :进程可使用的最大断裂内存(segment )容量

-l :可用于锁定(lock)的内存容量

-t :可使用的最大cpu 时间(单位为秒)

-u :单一用户可以使用的最大进程(process)数量;

Ulimit –a

Ulimit –f 10240

Ulimit –a

一般用户使用这个命令的时候只能减少设置的值,不能增加设置的值

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注