Linux shell编程之变量

计算机硬件是由内核(kernel)管理的。我们能通过shell,KDE或者应用程序和内核通信,好让内核可以控制硬件来完成我们的工作。能够操作应用程序的接口都可以成为shell。shell是linux的任督二脉。只要打通了这二脉,任何武功都能随你运用了。

shell版本众多。有sh,csh等。你可以vim /etc/shells,瞧瞧当前你的linux有多少个可以使用的shell。linux默认是/bin/bash。当我们登入的时候,系统就会给我们一个shell,让我们来工作。而这个shell会记录在/etc/passwd文件内。你可以cat /etc/passwd。瞧瞧系统给你的shell是何方神圣。

我们可以通过tpye来查看bash的内置命令,如:type cd。在bash环境下,如果命令串太长,我们可以使用\,来转义回车键,借用两行来输出。如果我们经常需要知道所有文件及其属性,每次执行ls -al,会觉得有点麻烦,这时,我们可以使用别名,如:alias lm=‘ls -al’。你也可以vim .bash_history,查询曾经做过的操作,至于这一次则会被缓存。

变量是任何一门语言的“皇冠”。比如,y=ax+b。y就是变量,ax+b就是变量的内容。管理账号的时候,腾讯会建立一个变量y。当你申请QQ的时候,此时的x就取你。我们可用“echo $变量名”来显示变量的内容。在设置变量的时候,可借用双引号或单引号来控制,单引号与双引号必须成对。若是单引号,则其内的特殊字符仅为一般字符;若是双引号,则其内的特殊字符,如$,可以保有原本的特性。如,var=“lang is $LANG",则echo $var,可得 lang is en_US。若该变量要增加内容,则可以PATH="$PATH":/home/bin/think。若该变量需要在其他子程序执行,则需要export来使变量变成环境变量:export PATH.通常,大写字符为系统默认变量,用户变量可用小写。我们可以用"unset 变量"来取消变量的设置。

练习题:假设你定义了一个变量name=think,现在想以name这个变量的内容来定义出myname显示think is my English name这个内容,要如何设置呢?

[root@localhost ~]# name=think   [root@localhost ~]# echo $name   think   [root@localhost ~]# myname="$name is my English name"   [root@localhost ~]# echo $myname   think is my English name  

练习题:如果你有一个常去的工作目录名称为"/u01/app/Oracle/product/10.2.0/db_1/sqlplus/admin/",请问该如何简化?

work="/u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/"   cd $work   同时,我们可以把这个变量写进.bash_profile里面,让你每次只要cd $work便可。  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/pxzgd.html