SHELL心得-关于变量的使用

来源:互联网 发布:彩票数据接口 编辑:程序博客网 时间:2024/04/29 00:22

1、关于变量的次序问题

在脚本中,对于同一个进程来说,没有全局或者局部变量之分。

就是説,假如你在一个函数内使用了一个变量,而且在函数以外根本没有这个变量的半点踪迹。但是,只要你曾经调用这个函数,那么在脚本接着的地方,你都可以使用这个变量。

具体例子如下:

大概描述如上:

1、调用了函数

#!/bin/shtest(){a="1"return}testecho $a
显示:

kaiwii@ubuntu:~$ ./tst
1
2、没有调用这个函数

#!/bin/shtest(){a="1"return}#testecho $a
显示:

没有

总结:

我对这个问题是这样子理解:脚本嘛,不过是在调用别人的程序而已,人家没必要为了记录你的层次而多建立一个堆栈。所以,在编写SHELL的过程中,只需要考虑变量的次序关系,至于嵌套(全局等)的关系,就由他去吧!
2、关于变量$*,$n的使用

对于这个的理解,我想用一个关于J2EE方面的知识去理解一下。编写J2EE代码,取数据肯定从request对象中去取得,然后发数据到下面一层有肯定需要借助response对象。J2EE内部就是借助response对象与request对象之间的接力完成变量的传递的。而在SHELL中,使用这族变量也与此有所类似,向函数或者调用另外一个SHELL文件时,可以在后面添加参数。而在这些函数或者另外一个SHELL文件中,可以通过$n族变量取回这些参数。而我们存取参数时候,需要注意的只是这些参数之间的顺序。

3、取值要用$

赋值直接用变量名称即可,而需要取这个变量(a)的值的话就需要使用$a

原创粉丝点击