嵌入式学习之shell脚本

一、引言

该博客旨在记录shell一些常用的语法规则。

二、Shell脚本中$0、$?、$!、$$、$*、$#、$@

1. $$

Shell本身的PID(ProcessID)。

2. $!

Shell最后运行的后台Process的PID。

3. $?

最后运行的命令的结束代码(返回值)。

4. $-

使用Set命令设定的Flag一览。

5. $*

所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

6. $@

所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

7. $#

添加到Shell的参数个数。

8. $0

Shell本身的文件名。

9.$1~$n

添加到Shell的各参数值。$1是第1参数、$2是第2参数…

三、变量

1、local

一般用于shell内局部变量的定义,多使用在函数内部。

2、export

Linux export命令用于设置或显示环境变量。

在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。同时,重要的一点是,export的效力仅及于该次登陆操作。注销或者重新开一个窗口,export命令给出的环境变量都不存在了。

该命令的语法如下:

export [-fnp][变量名称]=[变量设置值]

其中:

    -f  代表[变量名称]中为函数名称。 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p  列出所有的shell赋予程序的环境变量。

你可以只打出export来查看当前的所有环境变量。如果你要在某个环境变量(比如PATH)中加入一些新的路径(如/bin/bash),可以使用如下命令格式:

export PATH=/bin/bash:$PATH

就OK了。

四、if语句的参数

if [-a/b/c/d/…… file_name]

1、f

文件存在。

2、d

目录存在。

3、s

文件存在切不为空。

4、r

文件存在且可读。

5、w

文件存在且可写。

6、x

文件存在且可执行。

经验分享 程序员 微信小程序 职场和发展