2007-06-25
变量与变量的设定
关键字: Linux 学习
要显示一个变量的值,可以使用echo指令,而为了要分辨 是否为变量,Linux系统预设变量名称前会加一个$符号,所以使用命令:echo $variable 就可以查看自己想知道的变量值了。
范例:
echo $PATH
echo $HOME
Linux系统中有多少环境变量,使用 env 指令就可以知道了。基本上,在Linux默认情况下,使用{大写字母}设定的变量一般都是系统的预设变量。
env是enviroment的简写,这个指令主要用于读取当前系统的主要变量。但是我们还可以自己定义变量,因此,除了env这个读取环境变量的指令外,还有一个可以将当前系统中所有的变量数据都读出来的指令,这就是set指令。
每个用户都有自己的变量,互不干扰。要想在登录时就设定好变量,必须将您的设定写入登入时加载的配置文件。
变量的设定规则如下:
一般变量设定:
13name=vbird //wrong
name = vbird //wrong
name=vbird //right
name=vi bird //wrong
name="vi bird" //right
name="vi'bird” //right
name='vibird's name' //wrong
name=vbird\'s\ name // right
变量累加设定
name=$nameisme // right
name="$name"isme // right
PATH="$PATH":/home/test // right
PATH="$PATH:/home/test" // right
变量延伸到下一个子程序:
name="vbird's name"
echo $name
//bin/bash // 打开一个bash的子程序
echo $name // 会显示空字符
exit
export name //这样下一个bash子程序就可以使用该变量了
指令中的指令:
cd /lib/modules/'uname -r'/kernel
// 该式中,会先执行’uname -r'这个内嵌的指令,然后输出结果附加在/lib/module...中,所以执行这个指令可以完成几个附指令程序
单引号与双引号的区别?
单引号与双引号的最大不同之处在于双引号可以保留变量的内容,但单引号内仅能是一般字符,而不会有特殊字符。例如:
name=vbird
echo $name
vbird
myname="$name is me"
echo $myname
vbird is me
myanme='$name is me'
echo $myname
$name is me
quote( ' )这个符号的意义
在一串指令中,在 ' 之内的指令将会被首先执行,而其执行结果将会作为外部的输入信息。
当开启一个bash的时候,就是启动了一个程序,但是当您再次执行bash,那么将进入子程序。进入子程序后,父程序的变量设定将不继续存在,如果想让改变量内容继续在子程序中使用,请执行:
export 变量
在引用他人的文件或者其他程序时,export相当重要,尤其在需要两三个文件互相需要引用时,如果忘记设定export,那么不同文件中的相同变量值将需要一再地的重复设定。所以,只要在头一个文件使用export,那么后续的文件引用该变量时,将会自动读取该变量内容。
unset 变量 // 直接取消该变量
范例:
echo $PATH
echo $HOME
Linux系统中有多少环境变量,使用 env 指令就可以知道了。基本上,在Linux默认情况下,使用{大写字母}设定的变量一般都是系统的预设变量。
env是enviroment的简写,这个指令主要用于读取当前系统的主要变量。但是我们还可以自己定义变量,因此,除了env这个读取环境变量的指令外,还有一个可以将当前系统中所有的变量数据都读出来的指令,这就是set指令。
每个用户都有自己的变量,互不干扰。要想在登录时就设定好变量,必须将您的设定写入登入时加载的配置文件。
变量的设定规则如下:
- 变量与变量内容以等号“=”链结;
- 等号两天不能直接接空格符
- 变量名称只能是英文字母与数字,其中数字不能是开头字符
- 若有空格符,可以使用双引号或者单引号将变量内容综合起来,但要特别留意,双引号内的特殊字符可以保留变量特性,单引号内的特殊字符则为一般字符
- 必要时以跳转字符"\"(如enter,$,\,空格符,'等)变成一般符号;
- 在一串指令中,还需要借助其他指令信息提供的信息,可以使用quote” ’command' “;
- 若该变量为扩增变量内容时,则需要以引号及$变量名称(如"$PATH":/home)继续累加内容;
- 若该变量需要在其他子程序执行,则以export使变量可以动作,如export PATH;
- 通常大写字符为系统预设变量,自定义变量可以使用小写字符,方便判断(纯粹依照用户兴趣与嗜好);
- 取消变量的方法为:unset 变量名称
一般变量设定:
13name=vbird //wrong
name = vbird //wrong
name=vbird //right
name=vi bird //wrong
name="vi bird" //right
name="vi'bird” //right
name='vibird's name' //wrong
name=vbird\'s\ name // right
变量累加设定
name=$nameisme // right
name="$name"isme // right
PATH="$PATH":/home/test // right
PATH="$PATH:/home/test" // right
变量延伸到下一个子程序:
name="vbird's name"
echo $name
//bin/bash // 打开一个bash的子程序
echo $name // 会显示空字符
exit
export name //这样下一个bash子程序就可以使用该变量了
指令中的指令:
cd /lib/modules/'uname -r'/kernel
// 该式中,会先执行’uname -r'这个内嵌的指令,然后输出结果附加在/lib/module...中,所以执行这个指令可以完成几个附指令程序
单引号与双引号的区别?
单引号与双引号的最大不同之处在于双引号可以保留变量的内容,但单引号内仅能是一般字符,而不会有特殊字符。例如:
name=vbird
echo $name
vbird
myname="$name is me"
echo $myname
vbird is me
myanme='$name is me'
echo $myname
$name is me
quote( ' )这个符号的意义
在一串指令中,在 ' 之内的指令将会被首先执行,而其执行结果将会作为外部的输入信息。
当开启一个bash的时候,就是启动了一个程序,但是当您再次执行bash,那么将进入子程序。进入子程序后,父程序的变量设定将不继续存在,如果想让改变量内容继续在子程序中使用,请执行:
export 变量
在引用他人的文件或者其他程序时,export相当重要,尤其在需要两三个文件互相需要引用时,如果忘记设定export,那么不同文件中的相同变量值将需要一再地的重复设定。所以,只要在头一个文件使用export,那么后续的文件引用该变量时,将会自动读取该变量内容。
unset 变量 // 直接取消该变量
发表评论
- 浏览: 13653 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最新评论
-
毕业两年了——转正
是excel的数据导入数据库,技术难度比我的大 一般是牛人做个公用的直接调用
-- by lsdc2004 -
毕业两年了——从面试到接 ...
我也毕业两年了,在石家庄待了一年,现在在北京,过的不怎么样。唉!!!
-- by zsbfree -
毕业两年了——转正
”所有的业务逻辑代码还是放在action里 “不是不好,是很不好!!
-- by senbao18 -
毕业两年了——真正的挑战 ...
谢谢楼主提醒,珍惜学习时间!
-- by senbao18 -
毕业两年了——从面试到接 ...
进这家公司的第一工作就是装系统,就是这件简单的事我却做了两天,因为第一天硬盘处问 ...
-- by yanshiyi






评论排行榜