zoukankan      html  css  js  c++  java
  • 开个帖,开始学习shell编程

    恩,就这么开始了

    首先说一下这个小小的插曲。。。写着写着,它就崩溃了,然后我也崩溃了。。。崩溃的我到处找一个不会让我崩溃的工具,然后找来找去就找到了scribefire。

    1. 关于从Command Line取参数进来

    ~ Shell Built in Variables ~ Meaning
    $# Number of command line arguments.
    $? Exit Status
    $* string that contains all arguments to shell
    $@ Same as above, except when quoted.
    $- Option supplied to shell
    $$ PID of shell
    $! PID of last started background process (started with &)

    另外,还有$1,$2,$3...代表低N个参数。

    2. 关于方括号

    这货是一个函数!它不是符号!不是符号!它等同于test命令,那个吧,你要是不给它整个空格啥的,等着报错吧,解释器会告诉你找不到符号啊啊啊。

    #!/bin/sh
    #
    #Script to test if..elif...else
    
    if [ $# -eq 0 ]
    then
    echo "$0 : You must give one integers!"
    exit 1
    fi
    
    if [ $1 -gt 0 ]
    then
            echo "$1 is positive"
    elif [ $1 -lt 0 ]
    then
            echo "$1 is negative"
    elif [ $1 -eq 0 ]
    then
            echo "$1 -eq 0"
    else
            echo "Opps! $1 is not number, give number please!"
    fi

    千万记得`[`后面要加空格,`]`前面也要空格啊啊啊。

    ====好吧,过了很久之后又拾起来了。

    1. 重新拾起来的感受是。。。符号使用真他妈的复杂啊啊啊。所以,关于符号的使用,请随时参考:

    2. “||”和“&&”的神奇用法。

    或运算时,如果第一个表达式已经返回了1,那么它就不会去执行第二个表达式,整个表达式直接返回1。比如,[ -z "$1" ] || echo "no argument found!",执行结果是:如果有参数传递进来,就返回true;如果没有参数传递进来,那么打印 no argument。

    与运算时,如果第一个表达式结果为1,那么继续执行第二个表达式,如果第二个表达式也为1,整个表达式才会返回1。比如,[ -z "$1" ] && echo "the augument 1 is $1", 执行结果是:如果有参数传递进来,那就把它打印到屏幕上;如果没有参数传递进来,那就整个表达式返回0.

    3.

    ——————
    无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
  • 相关阅读:
    C#基元类型、引用类型和值类型
    UML类图中泛化、实现、依赖、关联、聚合、组合关系
    简述:聚集索引和非聚集索引的区别
    面向对象编程的三特性、七原则和六视点
    设计模式学习笔记——解释器模式(Interpreter)
    设计模式学习笔记——组合模式(Composite)
    程序员编程利器:20款最好的免费的IDEs和编辑器
    奇技淫巧之浏览器秒秒钟变编辑器
    前端技术Jquery与Ajax使用总结
    Chrome也疯狂之Vimium插件
  • 原文地址:https://www.cnblogs.com/pied/p/2865163.html
Copyright © 2011-2022 走看看