在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数的变量的作用域问题可能令你费解,在这里梳理一下这个问题. (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 例1:脚本变量的作用域#!/bin/bash#define the function ltx_funcltx_func(){   echo $v1   #modify the variable v1   v1=200 }#define the…
(1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.(2)Shell函数定义的变量默认是global的,其作用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止.函数定义的变量可以被显示定义成local的,其作用域局限于函数内.但请注意,函数的参数是local的.(3)如果同名,Shell函数定义的local变量会屏蔽脚本定义的global变量.…
http://blog.csdn.net/ltx19860420/article/details/5570902 1. shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. #!/bin/bashltx_func() {   echo $v1   v1=200 }v1=100ltx_funcecho $v1结果:100200 解析:脚本变量v1的作用域从被定义的地方开始,到shell结束.调用函数ltx_func的地方在变量v1的作用域…
原文地址:http://blog.csdn.net/abc86319253/article/details/46341839    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的变量和函数 的变量的作用域问题可能令你费解,在这里梳理一下这个问题.   (1)Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或 被显示删除的地方为止.   例1:脚本变量的作用域 #!/bin/bash #define the function ltx_f…
脚本:运行的副作用不影响父环境,开辟了fork子进程; 函数:副作用,定义的变量,数据默认直接添加到了调用者的环境,也是它自己的环境;不想副作用影响调用者环境,就必须主动用local修饰; shell 中的参数只有一种类型:字符串,或者数字意义的字符串;使用=就意味着对变量进行赋数值,右边默认为字符串变量 函数中要使用传数组只能: 1.数组可以转换成字符串传入函数; 2.不使用参数,使用全局数组 双引号在shell 中意义非凡,它不仅仅代表字符串,被它包起来的数组"${arrname[@]}&q…
eval命令妙用--变量嵌套替换 eval命令在Linux下的应用非常广泛,在写脚本的时候遇到一个变量嵌套的问题,用eval迎刃而解,略试不爽啊. var1="hello" i=1 #有时候i需要放在循环里,所以实际应用中有意义 what=var${i} temp=what echo $temp #打印出what eval temp=$(echo \$$what) echo $temp #打印出hello 究其原因在于eval替换表达式中的变量再做运算. 更多eval用法见下: eva…
命令代换$()与`` . 变量代换${} . 整数运算$(( )) 1.$( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行.例如:[code]$ echo the last sunday is $(date -d "last sunday" +%…
这是我的第一篇博客文章,本人不才,文笔也不好,所以可能写的有点凌乱.有什么不对的地方还望见谅.不过每天进步一小步,总有一天会迈出那一大步.以下内容是我对变量.函数声明及函数表达式.作用域的理解. [变量]大意上来讲,变量就是所定义的一个可以用来保存值的占位符.定义变量时要使用var操作符. 变量所保存类型可以被改变,但不建议. var操作符定义的变量将成为该变量的作用域中的局部变量,在函数退出后,变量将被销毁. 若省略var操作符可以定义全局变量,不过在严格模式下会导致抛出ReferenceEr…
文章目录 1.对象的简介 2.对象的基本操作 2.1 代码 2.2 测试结果 3.属性和属性值 3.1 代码 3.2 测试结果 4.对象的方法 4.1 代码 4.2 测试结果 5.对象字面量 5.1 代码 5.2 测试结果 6.函数 6.1 代码 6.2 测试结果 7.全局作用域和局部作用域 7.1 代码 7.2 测试结果 1.对象的简介 2.对象的基本操作 2.1 代码 <!DOCTYPE html> <html> <head> <meta charset=&q…
1.使用dos2unix命令处理在windows下开发的脚本 将windows下编辑的脚本放置到linux下执行的情况如下: [root@ks ~]# cat -v nginx.sh #!/bin/bash^M a=1 n^M sum=0 ^M while ((a <=50 ))^M do^M ((sum=sum+a)) ^M ((a++)) ^M done^M [root@ks ~]# sh nginx.sh     #执行脚本 : command not found: command not…