码迷,mamicode.com
首页 > 系统相关 > 详细

Linux之shell编程基础

时间:2015-01-10 23:33:24      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

一、变量

    变量在shell中分为:本地变量、环境变量、位置参数;

  本地变量:仅可在用户当前shell生命期的脚本中使用的变量,本地变量随着shell进程的消亡而无效,本地变量在新启动的shell中依旧无效,类似于c、c++中的局部变量的概念;

  环境变量:适用于所有登录进程所产生的子进程;

  位置参数:用于向shell脚本提供传递参数,它是只读的;

    变量是某个值的名称,引用变量值就称为:变量替换,$符号是变量替换符号,如variable是变量名,那么,$variable就是表示变量的值;

  variable=value  #切记:等号两边不能出现空格

  ${variable=value}  #同上

  示例如下:

    var1="hello world"

    var2="I say"

    var3="we are saying $var1"    #ok

  变量的清除:unset命令

    unset 变量名  

  unset var之后,echo  $var ,结果显示空白行,这表示var变量没有初始化;

变量赋值的模式:

  var=value  #注意:等号两边不能有空格

 1 1、变量已初始化情况
 2 [email protected]222-132-16-50:~/cp/sh# colour="reb"
 3 [email protected]222-132-16-50:~/cp/sh# echo "is ${colour+"blue"}"
 4 is blue
 5 [email protected]222-132-16-50:~/cp/sh# echo $colour
 6 reb
 7 [email protected]222-132-16-50:~/cp/sh# unset colour
 8 2、变量未被初始化情况, ":=" 和":-" 对已初始化的变量操作,无作用
 9 [email protected]222-132-16-50:~/cp/sh# unset colour
10 [email protected]222-132-16-50:~/cp/sh# echo $colour
11 
12 [email protected]222-132-16-50:~/cp/sh# echo "is ${colour:="red"}"
13 is red
14 [email protected]222-132-16-50:~/cp/sh# echo $colour
15 red
16 [email protected]222-132-16-50:~/cp/sh# unset colour
17 [email protected]222-132-16-50:~/cp/sh# echo "is ${colour:-"red"}"
18 is red
19 [email protected]222-132-16-50:~/cp/sh# echo $colour
20 
21 [email protected]222-132-16-50:~/cp/sh# 

 

  

 

Linux之shell编程基础

标签:

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!