zoukankan      html  css  js  c++  java
  • 【Shell 编程基础第一部分】第一个Shell脚本HelloShell及一些简单的Shell基础书写与概念;

    http://blog.csdn.net/xiaominghimi/article/details/7603000

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:
    转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/shell/759.html

              ☞ 点击订阅 ☜
     本博客最新动态!及时将最新博文通知您!

    本章节分享Shell 学习篇,那么对于Shell 简单介绍下,对于Shell来说,大家可以理解Shell 是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。另外一点它可以使用用户的缺省凭证和环境执行 shell。传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。更详细的大家可以移步到:  http://baike.baidu.com/view/849.htm#4 

    对于Shell脚本的编写,可以使用任何文本编辑器,利用常用的文本编辑器、UltraEdit、Editplus、Gedit等都可以!

    对于Shell脚本的书写,约定俗成,第一行必须如下所示:(务必放在文件的第一行)

    1
    2
    #!/bin/sh
    ...

    符号#!用来告诉系统执行该脚本的程序,这里使用/bin/sh。编辑结束并保存;这里最好使用“!/bin/bash”而不是“!/bin/sh”,如果使用tc shell改为tcsh,其他类似。

    如果要执行该脚本,必须先使用chmod命令打开脚本的执行权限,如下:

    1
    chmod +x yourScriptName

    注释:    在进行shell编程时,以 # 开头的句子表示注释;

          变量:    在其他编程语言中你必须使用变量。在shell编程中,所有的变量都由字符串组成,并且大家不需要对变量进行声明;当你要赋值给一个变量,首先熟悉如下知识;

    1.需要给变量赋值时,可以这么写:   变量名=值 

    1-1.  首个字符必须为字母(a-z,A-Z)

    1-2 中间不能有空格,可以使用下划线(_)

    1-3 不能使用标点符号

    1-4 不能使用bash里的关键字(可用help命令查看保留关键字)

               2. 要取用一个变量的值,只需在变量名前面加一个$ ( 注意: 给变量赋值的时候,不能在”=”两边留空格 )

    3.  echo 输出(打印)

    OK,书写第一个完整Shell脚本:

    1
    2
    3
    4
    5
    6
    #!/bin/sh
    #对变量赋值:
    himi="HelloShell"  #等号两边均不能有空格存在
    # 现在打印变量a的内容:
    echo "A is:"
    echo $himi

    OK,终端命令&输出如下:

    Last login: Sat Apr 14 14:16:13 on ttys000
    mac:~ Himi$ cd /Users/Himi/Desktop/
    mac:Desktop Himi$ chmod +x himi
    mac:Desktop Himi$ ./himi
    A is:
    HelloShell
    mac:Desktop Himi$

    需要大家注意的是有时候变量名可能会和其它文字混淆,比如: 

    #!/bin/sh
    #对变量赋值:
    himi=”test” #等号两边均不能有空格存在
    echo $himi

    echo $himi A
    echo “A $himi”
    #注意混淆
    echo “A $himi_OK”
    #正确写法:
    echo “A ${himi}_OK”

    终端执行&打印:

    1
    2
    3
    4
    5
    6
    7
    mac:Desktop Himi$ ./himi
    test
    test A
    A test
    A
    A test_OK
    mac:Desktop Himi$

    童鞋们可以看到《 echo “A $himi_OK” 》这里没有正常打印出来,这是由于shell会去搜索变量himi_OK的值,而实际上这个变量此时并没有值。这时,我们可以用花括号来告诉shell要打印的是himi变量;

    还需要注意shell的默认赋值是字符串赋值。比如:  

    1
    2
    3
    4
    5
    #!/bin/sh
    #字符串赋值:
    _int=19
    _tot=$_int+89
    echo $_tot

    打印的_tot不是108 !而是 19+89 !出现此的原因就是因为Shell默认是字符串赋值,应该需要计算应该先熟悉如下几个知识:

    let   表示数学运算

        $[]   表示将中括号内的表达式作为数学运算先计算结果再输出。

    expr   用于整数值运算,每一项用空格隔开

    上面前两种方式在bash下有效,在sh下会出错。

    OK,知道这些就可以重新将刚才的脚本改写成如下形式:

    1
    2
    3
    4
    5
    #!/bin/sh
    #字符串赋值:
    _int=19
    _tot=$[$_int+89]
    echo $_tot

    3种形式输出的结果都是 108 ;

    将到这里就不得不说下Shell的算术运算仂,对于Shell种的运算中,大家需要知道:

    C shell只支持整数的运算;

    运算符如下图所示:

    简单写几个运算:

    注意:

    1.运算符两侧都必须有空格!!

    2.C shell不支持浮点运算符(ps.如果您想要执行更加复杂的数学运算,可用UNIX的实用程序bc和nawk)

    本人注:mac下亲似,不行:

    #!/bin/sh
    _int=3
    var= expr $_int + 10
    echo $var

  • 相关阅读:
    8086汇编——课堂笔记整理2
    8086汇编——课堂笔记整理1
    PHP___认证___访问权限设置
    PHP___过期header expires
    Vue深度学习(5)-过渡效果
    Vue深度学习(4)-方法与事件处理器
    Vue深度学习(3)
    Vue深度学习(2)
    Vue深度学习(1)
    Vue.js 基本语法
  • 原文地址:https://www.cnblogs.com/xuejinhui/p/4497486.html
Copyright © 2011-2022 走看看