shell编程概念介绍及变量定义--关于脚本运行与shell进程之间的关系

shell是用户与内核进行交互操作的一种接口,目前最流行的shell称为bash shell

shell也是一门编程语言<解释型的编程语言>,即shell脚本<就是用 linux 的 shell 命令编程>

一个系统可以存在多个shell,可以通过 cat/etc/shells 命令查看系统中安装的shell,不同的shell 可能支持的命令语法是不相同的

基本格式

代码写在普通文本文件中,通常以 .sh为后缀名

例vi hello.sh:

#!/bin/bash      ##表示用哪一种shell解析器来解析执行我们的这个脚本程序

echo  "hello world"

执行脚本:sh hello.sh

或给脚本添加x权限,直接执行:chmod +x hello.sh

                                                    ./hello.sh

系统变量

linux shell中的变量分为“系统变量”和“用户自定义变量”

可以通过set命令查看系统变量

自定义变量

变量=值,等号两边不能有空格  例:STR=abc

变量名称一般习惯为大写

使用变量:$arg

双引号和单引号有区别,双引号仅将空格脱意,单引号会将变量引用比如$param脱意

unset A 撤销变量A

readonly B=2 声明静态的变量B=2,不能unset

export A 可把变量提升为当前 shell 进程中的全局环境变量,可供其他子shell程序使用

一个shell进程无法将自己定义的变量提升到父进程空间中去,而子进程空间只能访问父进程中用export定义的变量,“.”号执行脚本时,会让脚本在调用者所在的shell进程空间中执行

猜你喜欢

转载自www.cnblogs.com/chengting/p/11515700.html