码迷,mamicode.com
首页 > 系统相关 > 详细

shell学习

时间:2014-11-06 17:35:06      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:使用   sp   文件   代码   bs   时间   linux   as   学习   

1:shell脚本给变量赋值的时候“=”两边不能有空格。

2:单引号为全引用,如果echo ‘$hello ‘   则输出的是hello。双引号为弱引用,如果echo "$hello",hello有赋值,则输出的是hello赋予的值。

3:shell脚本中的局部变量必须明确以local声明。否则即使在代码块中,它也是全局可见的。

#! /bin/sh
num=123
func1()
{
    num=321
    echo $num
}
func2()
{
    local num=456
    echo $num
}
echo $num
func1
func2
echo $num

输出的是:123 321 456 321  在代码块中的func1中赋值的num没有带local声明,即覆盖改变全局num。

4:计算机不能直接理解高级语言,只能直接理解机器语言,所以必须把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种:一个是编译,一个是解释。这两种形式只是翻译的时间不同。编译型语言写在程序执行之前,需要一个专门的编译过程,把程序编译成机器语言的文件,比如windws的exe文件,以后要运行的话,就不用重新翻译了,直接使用编译的结果就行。因为只做了一次翻译,运行时不需要翻译,所以编译型语言的程序执行效率高,limux的许多外部命令都是这种类型,他们的文件格式是二进制。解释型语言的程序不需要编译,省了道工序。解释型语言在运行的时候才编译,比如linux shell语言,专门有一个解释器直接执行程序(/bin/sh或者bash等),每个语句都是执行的时候才翻译的。因而解释性语言每执行一次就要翻译一次,效率比较低。


shell学习

标签:使用   sp   文件   代码   bs   时间   linux   as   学习   

原文地址:http://blog.csdn.net/fuyuehua22/article/details/40862961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!