Shell编程笔记--变量的定义
2017-02-22 07:18
363 查看
变量的定义
sell 变量分为 本地变量,环境变量……
一、本地变量:
作用域为当前shell
只读变量
readonly name
查看所有只读变量
readonly
各种模式设置(了解):
引用变量
例子:
二、环境变量
/etc/profile
变量名大写,应用时,使用export命令导出
查看变量
NAME=feifei;export NAME
env | grep 'NAME'
变量导出给子进程(*)
--------------------------------------
清除变量:
unset name
显示所有变量
set
三、参数--变量(*)
$0---->保留,保存实际脚本名字
$1 $2 $3 $4 $5.....$9 $(10) $(11)....
echo $0
echo $1
sh shell.sh 11
实用应用:(*)
shell.sh: find / -name $1 -print
sh shell.sh passwd ---->结果:查找passwd文件
四、特定变量(*):
$#传递给脚本的参数个数:(*)
$@ 与$*相同 但每个参数都加上了引号,
$* 显示所有参数
$$ 当前进程ID
$! 后台运行的最后进程ID
$. 同set
$? 显示最后命令的退出状态,0表示没有错误,
确保用户在自己的$HOME下可以执行程序
1、 cd /home/bin下加入.profile文件 没有就创建;
2、 PATH=$PATH:$HOME/bin
环境变量=全局变量
自定义变量=局部变量
随机数生成(0~32767 之间)
declare -i number=$RANDOM*10; echo $number
declare 声明变量:-a数组, -f函数, -i整形,-x设置环境变量, 同export; -r只读
declare -a myarrays='([0]="a" [1]="b" [3]="c")'
echo ${myarrays[1]}
一、输入与输出
(一) echo
1、参数
-n不换行;-e使转义符生效
2、转义符
\c不换行;\t \n
(二) 文件描述符
1、系统有12个文件描述符:
0:标准输入
1:标准输出
2:标准错误
2、文件重写向
command > filename 输出到新文件
command >> filename 输出到文件(追加)
command 1 > filename 输出到文件
command > filename 2>&1 输出到文件(包含错误信息)
command > filename 2>/dev/null 输出错误信息到垃圾箱(不显示屏幕)
command >> filename 2>&1 输出到文件(包含错误信息)(追加)
command < filename
command < filename > filename2
command < &0
command > &0
command > &- 关闭输入
sell 变量分为 本地变量,环境变量……
一、本地变量:
作用域为当前shell
name=value 或 ${name=value} name=feifei name=" fei fei "
只读变量
readonly name
查看所有只读变量
readonly
各种模式设置(了解):
name=feifei 设置实际值给name name+feifei 如果name有值,则重新设值 name:?feifei 如果name没值,显示未定义用户错误信息 name?feifei 如果name没值,显示系统错误信息 name:=feifei 如果name没值,设置默认值feifei(*) name:-feifei 同上,但只是取值,不设置feifei给name
引用变量
echo ${name} name2="$name2":feifei2
例子:
source="home/test" dest="tmp/test.bak" cp $source $dest
二、环境变量
/etc/profile
变量名大写,应用时,使用export命令导出
1、NAME=feifei; export NAME 2、NAME=feifei export NAME 3、PATH=$PATH:/$HOME/bin:export PATH
查看变量
NAME=feifei;export NAME
env | grep 'NAME'
变量导出给子进程(*)
father.sh name=feifei export name #导出name值,给child.sh child.sh #调用子shell echo ${name} child.sh echo${name} name=feifei2
--------------------------------------
清除变量:
unset name
显示所有变量
set
三、参数--变量(*)
$0---->保留,保存实际脚本名字
$1 $2 $3 $4 $5.....$9 $(10) $(11)....
echo $0
echo $1
sh shell.sh 11
实用应用:(*)
shell.sh: find / -name $1 -print
sh shell.sh passwd ---->结果:查找passwd文件
四、特定变量(*):
$#传递给脚本的参数个数:(*)
$@ 与$*相同 但每个参数都加上了引号,
$* 显示所有参数
$$ 当前进程ID
$! 后台运行的最后进程ID
$. 同set
$? 显示最后命令的退出状态,0表示没有错误,
确保用户在自己的$HOME下可以执行程序
1、 cd /home/bin下加入.profile文件 没有就创建;
2、 PATH=$PATH:$HOME/bin
环境变量=全局变量
自定义变量=局部变量
随机数生成(0~32767 之间)
declare -i number=$RANDOM*10; echo $number
declare 声明变量:-a数组, -f函数, -i整形,-x设置环境变量, 同export; -r只读
declare -a myarrays='([0]="a" [1]="b" [3]="c")'
echo ${myarrays[1]}
一、输入与输出
(一) echo
1、参数
-n不换行;-e使转义符生效
2、转义符
\c不换行;\t \n
(二) 文件描述符
1、系统有12个文件描述符:
0:标准输入
1:标准输出
2:标准错误
2、文件重写向
command > filename 输出到新文件
command >> filename 输出到文件(追加)
command 1 > filename 输出到文件
command > filename 2>&1 输出到文件(包含错误信息)
command > filename 2>/dev/null 输出错误信息到垃圾箱(不显示屏幕)
command >> filename 2>&1 输出到文件(包含错误信息)(追加)
command < filename
command < filename > filename2
command < &0
command > &0
command > &- 关闭输入
相关文章推荐
- Shell编程笔记--变量的定义
- Shell编程笔记--变量的定义
- 小苏的Shell编程笔记之二--Shell变量及其相关操作
- uC/OS-II学习笔记-定义全局变量
- 张龙js笔记1: 变量的定义
- ant笔记-4.变量定义及运行
- PHP学习笔记--Php预定义超全局变量$_GET
- C++ Primer学习笔记 之 变量的声明与定义
- Oracle笔记 六、PL/SQL简单语句块、变量定义
- c#学习笔记一:变量、常量、预定义数据类型
- 数据结构 学习笔记之:结构体及其所定义变量的内存分配的问题
- php——学习笔记,预定义变量
- Oracle笔记 六、PL/SQL简单语句块、变量定义
- effective C++笔记之条款31、32: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针所指对象的引用、尽可能地推迟变量的定义
- Oracle笔记 六、PL/SQL简单语句块、变量定义
- uC/OS-II学习笔记-定义全局变量 分类: μc /os ii 系统有关知识 2011-04-04 15:48 580人阅读 评论(0) 收藏
- Perl学习笔记(3)变量定义,关系运算符
- Scala学习笔记(四) - 变量,常量,函数及类的定义
- Oracle 学习笔记8 —— PL/SQL 定义变量
- C++ Primer 学习笔记4 变量和基本类型 (变量初始化规则、声明和定义)