诺亚方舟

沉淀

shell变量的玩法(持续更新)

1、在shell中,变量(无论是否带上引号)均以字符串形式存储,因此无法直接进行数学计算,简单的计算可以用let、$(())、$[]来解决,复杂的可用expr、bc这两个工具实现。

2、计算变量的长度

length=${#test};

3、数组定义

方法①:array_var = (1 2 3 4 5 6);

方法②:array_var[0]=”test0″;array_var[1]=”test1″;array_var[2]=”test2″;

数组打印:echo ${array_var[0]};  echo ${array_var[*]};echo ${array_var[@]};

4、关联数组的定义,关联数组需要用declare进行声明,定义方法也有两个

方法①:declare -A ass_array;ass_array=([index1]=val1 [index2]=val2 );

方法②:declare -A ass_array;ass_array[index1]=1;ass_array[index2]=2;

列出数组索引?很简单。

echo ${!array_var[*]};或者echo ${!array_var[@]};

5、shell脚本里面一些特殊变量

$?:代表命令执行的结果,0代表正常,非0即为异常;

$1、$2、$3…$n:代表传递给脚本的参数1、2、3…n

$*:传递给脚本的所有参数,即”$1c$2c$3“(c是IFS的第一个字符)

$@:传递给脚本的所有参数,形成一个数组。

6、子shell法与反引号法,可将命令执行结果保存在变量中

result=”$(command)”;(放在双引号中可以保留空格和换行符)

result=”`command`”;

7、read常用用法

①read -p “Enter input:” var

②read -n 2 var

8、linux关于时间的概念,

访问时间(-atime):用户最近一次访问文件的时间

修改时间(-mtime):文件内容被最后一次修改的时间

变化时间(-ctime):文件元数据(如权限或所有权)最后一次被修改的时间。

利用find就可以方便列出这些文件

find . -maxdepth 1 -type f -atime 7

//当前目录层里7天前被访问过的文件

find . -mindepth 3 -type f -atime -7

//当前目录层里7天内被访问过的文件

9、获得一个进程的环境变量

首先利用pgrep ‘mysql’ 获得进程号,然后cat /proc/$PID/environ

发表评论

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

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>