📄 0320bash.htm
字号:
<font color="#000066">变量与变量内容以等号『=』来连结;</font></li><li><font color="#000066">等号两边不能直接接空格符;</font></li><li><font color="#000066">变量名称只能是英文字母与数字,但是数字不能是开头字符;</font></li><li><font color="#000066">若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符;</font></li><li><font color="#000066">必要时需要以跳脱字符『 \ 』来将特殊符号(如</font><font color="#3333ff">Enter,$, \, 空格符, '</font><font color="#000066">等)变成一般符号;</font></li><li><font color="#000066">在一串指令中,还需要藉由其它的指令提供的信息,可以使用quote 『 </font><font color="#3333ff">` command` </font><font color="#000066">』;</font></li><li><font color="#000066">若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 </font><font color="#3333ff">"$PATH":/home</font><font color="#000066">』继续累加内容;</font></li><li><font color="#000066">若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如『</font><font color="#3333ff">exportPATH</font><font color="#000066">』;</font></li><li><font color="#000066">通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);</font></li><li><font color="#000066">取消变量的方法为:『</font><font color="#3333ff">unset变量名称</font><font color="#000066">』。</font></li></ol><p><br>底下我们举几个例子来说明一下:<br> <table bgcolor="#000000" border="1" cols="1" width="700"><tbody><tr><td><font size="-1" color="#ffff99" face="SimSun">一般变量设定:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[tets @testtest]# </font><font color="#ffff00">12name=VBrid</font><font color="#ffffff">          </font><font color="#ff9900"><==错误的!因为变量开头不能是数字!</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name = VBird </font><font color="#ffffff">               </font><font color="#ff9900"> <==错误的!因为等号两边不能直接接空白!</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]#</font><font color="#ffff00"> name=VBird  </font><font color="#ffffff">               </font><font color="#ff9900">  <==正确的!echo $name 显示 VBird</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name=VBird name </font><font color="#ffffff">        </font><font color="#ff9900"> <==错误的!需要加上双引号!不然会显示错误!</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name="VBird name" </font><font color="#ffffff">          </font><font color="#ff9900"> <==正确的!echo $name 显示 VBird name</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name="VBird's name" </font><font color="#ffffff">      </font><font color="#ff9900">  <==正确的!</font></font><p><font size="-1" color="#ffff99" face="SimSun">变量累加设定:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name=$nameisme  </font><font color="#ffffff">      </font><font color="#ff9900"><==错误的!需要以双引号将原变量圈起来</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name="$name"isme </font><font color="#ffffff">     </font><font color="#ff9900"><==正确的!echo $name 显示 VBird's nameisme</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">PATH="$PATH":/home/test </font><font color="#ffffff"> </font><font color="#cccccc">   </font><font color="#ff9900"> <==正确的!echo $PATH 将多了后面一句话!</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">PATH="$PATH:/home/test" </font><font color="#ffffff">   </font><font color="#cccccc">  </font><font color="#ff9900"><==正确的!这个形式对于 PATH 来说也是正确的格式!</font></font></p><p><font size="-1" color="#ffff99" face="SimSun">变量延伸到下一个子程序:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">name="VBird's name"   </font><font color="#ffffff"> </font><font color="#ff9900"><==设定 name 这个变量</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @tsettest]# </font><font color="#ffff00">echo $name</font><font color="#ffffff">               </font><font color="#ff9900"> <==显示 name 变量的指令</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">VBird's name</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">/bin/bash </font><font color="#ffffff">                </font><font color="#ff9900"><==另开一个 bash 的子程序</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @tsettest]# </font><font color="#ffff00">echo $name  </font><font color="#ffffff">             </font><font color="#ff9900"> <==显示 name 这个变量</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @tsettest]#                      </font><font color="#ff9900"> <==会显示空字符串因为 name 这个变量不能使用在子程序</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">exit  </font><font color="#ffffff">                   </font><font color="#ff9900"> <==退出子程序 bash shell !</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]# </font><font color="#ffff00">export name </font><font color="#ffffff">            </font><font color="#ff9900">  <==正确的!如此则 $name 可以用于下一个子程序中!</font></font></p><p><font size="-1" color="#ffff99" face="SimSun">指令中的指令:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]#</font><font color="#ffff00"> cd /lib/modules/`uname –r`/kernel</font></font><br><font size="-1" color="#ff9900" face="SimSun">上式中,会先执行`uname –r` 这个内含指令,然后输出的结果附加在 /lib/module… 里面,所以执行这个指令,可以完成几个附指令程序!</font></p><p><font size="-1" color="#ffff99" face="SimSun">取消变量设定:</font><br><font size="-1" face="SimSun"><font color="#ffffff">[test @testtest]#</font><font color="#ff9900"> unset name</font></font></p></td></tr></tbody></table> <br>根据上面的案例你可以试试看!就可以了解变量的设定啰!这个是很重要的呦!请勤加练习!!其中,较为重要的一些特殊符号的使用啰!例如单引号、双引号、跳脱字符、钱字号、quote符号等等,底下的例题想一想吧!<br> <table border="1" cols="1" width="90%"><tbody><tr><td><font face="SimSun">例题:在变量的设定中,单引号与双引号有什么不同呢?</font><br><font face="SimSun">答:</font><blockquote><font face="SimSun">单引号与双引号的最大不同在于双引号仍然可以保有变量的内容,但单引号内仅能是一般字符,而不会有特殊符号。我们以底下的例子做说明:假设您定义了一个变量,name=VBird ,现在想以 name 这个变量定义出 myname 显示 VBird its me 这个内容,要如何订定呢?</font><blockquote><font color="#000066" face="SimSun">[root @test root]#name=VBird</font><br><font color="#000066" face="SimSun">[root @test root]# echo $name</font><br><font color="#000066" face="SimSun">VBird</font><br><font color="#000066" face="SimSun">[root @test root]# myname="$nameits me"</font><br><font color="#000066" face="SimSun">[root @test root]# echo $myname</font><br><font color="#000066" face="SimSun">VBird its me</font><br><font color="#000066" face="SimSun">[root @test root]# myname='$nameits me'</font><br><font color="#000066" face="SimSun">[root @test root]# echo $myname</font><br><font color="#000066" face="SimSun">$name its me</font></blockquote><font face="SimSun">发现了吗?没错!使用了单引号的时候,那么 $name 将失去原有的变量内容,仅为一般字符的显示型态而已!这里必需要特别小心在意!</font></blockquote></td></tr></tbody></table> <table border="1" cols="1" width="90%"><tbody><tr><td><font face="SimSun">例题:在指令下达的过程中, quote ( ` ) 这个符号代表的意义为何?</font><br><font face="SimSun">答:</font><blockquote><font face="SimSun">在一串指令中,在 ` 之内的指令将会被先执行,而其执行出来的结果将做为外部的输入信息!例如uname –r 会显示出目前的核心版本,而我们的核心版本在 /lib/modules 里面,因此,你可以先执行uname –r 找出核心版本,然后再以『 cd 目录』到该目录下,当然也可以执行</font><blockquote><font color="#000066" face="SimSun">cd /lib/modules/`uname–r`</font></blockquote><font face="SimSun">直接到该目录下去!</font></blockquote></td></tr></tbody></table> <br>底下我们来谈一谈 export 的用途吧!</p></ul></ul><blockquote><ul><hr width="100%"><li><a name="export"></a><b><font color="#000099">export</font></b></li><br>当你取得一个 bash 之后,亦即得到了一个程序了,但是若你再次的执行一次bash ,那么你将进入『子程序』,这个程序的概念我们在资源管理章节中再详谈,这里您先有个概念即可。那么由于您已经进入了该子程序,所以在父程序中的变量设定将不再继续的存在。如您想要让该变量内容继续的在子程序中使用,那么就请执行:<br> <ul><font color="#000066" face="SimSun">export 变数</font></ul> <br>!这个东西用在『<font color="#000066">引用他人的档案或者其它程序</font>』时,相当的重要的!尤其像我常常两三个档案互相引用来引用去的,如果忘记设定export 的话,那么不同的档案中的相同变量值,将需要一再地重复设定才行!所以,我只要在头一个档案使用export 的话,那么后续的档案引用时,将会把该变量内容读进来!好用的很?而,如果仅下达export 而没有接变量时,那么此时将会把所有的『环境变量』秀出来喔!也就是说,<font color="#000099">export可以将一般自订的变量变成环境变量</font>!<br> <table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -