shell编程总结及感悟

1、shell的系统变量

$0   当前程序的名称,实际上是一个内部参数,它必须有! 
$n   $1 表示第一个参数,$2 表示第二个参数,以此类推 .
$#   命令行参数的个数,即传递给程序的总的参数数目
$? 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$*   以“参数1 参数2 ... ” 形式保存所有参数,即传递给程序的所有参数组成的字符串。 
$@  以"参数1" "参数2" ... 形式保存所有参数 
$$   本程序的(进程ID号)PID 
$!   上一个命令的PID

2、shell 变量

1.变量是表示计算机内存中保存的一种数据需要占的一个位置或一组位置的标识。变量名可以由数字字符下划线组成,但是变量名只能由字符下划线开头,而不能是数字

2. shell变量种类:
系统变量:主要在判断命令参数和命令执行后的返回值时用到。
环境变量:在程序运行时需要设置的变量。
用户变量:局部变量由用户定义,用户可以定义、修改或删除他们。

 3.变量赋值:格式 变量名=字符串
       myfile=/home/xxxy/test1.c
       注意:
      赋值号两边不能有空格 在赋给变量的值中含有空格、制表符或换行符,应该用双引号把这个字符串括起来。

4.访问shell变量的值,必须在变量名前面加$符号。例如:echo  $myfile。

5.删除用户变量:

person=null ; echo $person 输出:null ; 删除变量:unset person(清除变量);

3、一般通配符

 星号(*)功能:匹配任意字符的出现。

 问号(?) 功能:匹配任意一个字符。

 方括号([ ])功能:匹配括号内所限定的任何一个字符。 如: f[abcd]匹配fa、fb、fc、fd;

 双引号”功能:双引号括起来的字符作为普通字符对待。

 $ 、 倒引号` 、反斜线 \ 这三个仍保留其特殊功能。

 $表示变量替换,用预先指定的变量值代替$和变量。

 `倒引号表示命令替换。

 \反斜线在后面字符是$、`、”、\、换行符之一时,表示转义字符,即不对后面字符特殊处理。

  单引号’功能:单引号括起来的字符都作为普通字符。单引号保留空白符 用反斜杠消除单引号的特殊含义。

 注释(#)功能:shell将#看作注释符号,忽略#后的字符。

4、个人感悟

  shell命令很神奇,通过一系列命令就可以搞定文件的操作,在这些命令之后再加一些字母,便可以做一些更加详细的操作

你可能感兴趣的:(shell编程总结及感悟)