关于shell变量的基础概念
2015-04-08 16:31
316 查看
1.声明与使用
1.1语法
变量名=值 #注意没有空格
变量没有数据类型
1.2使用变量
${变量名}
如果没有歧义情况{}可以省略
1.3数据类型
理论上bash不支持数据类型,但扩展支持整数类型与数组
语法:
declare -i 变量=值
typeset -i 变量=值
1.4变量的修饰
常量
declare -r 常量名=值
readonly 常量名
declare -r 后不能在下一行赋值
1.5 变量的作用范围与导出变量
1.5.1 代码内的变量作用范围
()与{}的差异
()执行另外建立子shell环境来执行()
{}当前shell环境执行,同一环境
shell环境[变量的作用范围,环境变量,设置选项]
1.env打印系统环境变量
2.set打印当前shell的环境变量与设置
3.set -o打印shell选项设置
4.开启选项
set -o 选项名
5.关闭选项
set +o 选项名
1.5.2 shell脚本与shell脚本之间
a.shell的调用方式
fork的调用 直接调用:建立子进程
exec的调用 加载调用:使用shell替代当前的
source调用 代码包含:等价于c的#include
b.全局永远不要指望访问局部
局部可以访问全局.bash需要额外处理
1.5.3变量的导出
declare -x 变量1 变量2....
export 变量1...
结论:
在系统的配置文件的变量导出使用,必须使用export
set -o allexport开启 全部变量导出
1.6 特殊的变量
1.6.1 环境变量
PATH:执行程序的搜素路径
PS1:命令提示符号
\! 显示该命令的历史记录编号。
\# 显示当前命令的命令编号。
\$ 显示$符作为提示符,如果用户是root的话,则显示#号。
\\ 显示反斜杠。
\d 显示当前日期。
\h 显示主机名。
\n 打印新行。
\nnn 显示nnn的八进制值。
\s 显示当前运行的shell的名字。
\t 显示当前时间。
\u 显示当前用户的用户名。
\W 显示当前工作目录的名字。
\w 显示当前工作目录的路径。
PS1="\t"
PS2:
提示符号支持特殊的转义符号
1.6.2 命令行变量
$0:命令本身
$1....$9:命令行参数
$* $@ :所有命令行参数
$#:命令行参数个数
1.6.3 命令执行状态码
$?
状态码0-255
$$ 进程ID $PID
1.1语法
变量名=值 #注意没有空格
变量没有数据类型
1.2使用变量
${变量名}
如果没有歧义情况{}可以省略
1.3数据类型
理论上bash不支持数据类型,但扩展支持整数类型与数组
语法:
declare -i 变量=值
typeset -i 变量=值
1.4变量的修饰
常量
declare -r 常量名=值
readonly 常量名
declare -r 后不能在下一行赋值
1.5 变量的作用范围与导出变量
1.5.1 代码内的变量作用范围
()与{}的差异
()执行另外建立子shell环境来执行()
{}当前shell环境执行,同一环境
shell环境[变量的作用范围,环境变量,设置选项]
1.env打印系统环境变量
2.set打印当前shell的环境变量与设置
3.set -o打印shell选项设置
4.开启选项
set -o 选项名
5.关闭选项
set +o 选项名
1.5.2 shell脚本与shell脚本之间
a.shell的调用方式
fork的调用 直接调用:建立子进程
exec的调用 加载调用:使用shell替代当前的
source调用 代码包含:等价于c的#include
b.全局永远不要指望访问局部
局部可以访问全局.bash需要额外处理
1.5.3变量的导出
declare -x 变量1 变量2....
export 变量1...
结论:
在系统的配置文件的变量导出使用,必须使用export
set -o allexport开启 全部变量导出
1.6 特殊的变量
1.6.1 环境变量
PATH:执行程序的搜素路径
PS1:命令提示符号
\! 显示该命令的历史记录编号。
\# 显示当前命令的命令编号。
\$ 显示$符作为提示符,如果用户是root的话,则显示#号。
\\ 显示反斜杠。
\d 显示当前日期。
\h 显示主机名。
\n 打印新行。
\nnn 显示nnn的八进制值。
\s 显示当前运行的shell的名字。
\t 显示当前时间。
\u 显示当前用户的用户名。
\W 显示当前工作目录的名字。
\w 显示当前工作目录的路径。
PS1="\t"
PS2:
提示符号支持特殊的转义符号
1.6.2 命令行变量
$0:命令本身
$1....$9:命令行参数
$* $@ :所有命令行参数
$#:命令行参数个数
1.6.3 命令执行状态码
$?
状态码0-255
$$ 进程ID $PID
相关文章推荐
- ECMAScript基础(1)--关于ECMAScript的基础中的语法,变量等
- linux超级基础系列——shell变量(本地变量和环境变量)
- linux下的shell和环境变量,脚本编程的基础
- 关于变量概念javascript
- 【Shell 编程基础第一部分】第一个Shell脚本HelloShell及一些简单的Shell基础书写与概念;
- Shell基础学习:关于Wget命令的使用技巧[zt]
- shell变量基础
- 【C++基础学习】关于C++静态成员函数和变量
- 【C++基础学习】关于C++静态成员函数和变量
- linux超级基础系列——shell变量(本地变量和环境变量)
- phpcms关于标签和频道的基础概念
- 由test -n/-z 引发的关于shell变量问题的探讨
- [转]Awk基础入门之三:shell & awk 变量传递
- linux脚本编写基础(环境变量、shell流程控制)
- Linux新手生存笔记[8]——shell脚本基础1-变量
- linux基础——shell变量(本地变量和环境变量)
- RHCE课程-RH033Linux基础笔记四之shell以及环境变量
- 关于SHELL中一些特殊的$打头的特殊变量
- 关于几个概念的区分:终端、shell、控制台!
- Unix系统中关于SHELL中的内置变量$?的理解