zoukankan      html  css  js  c++  java
  • Shell脚本学习第一篇

    shell脚本学习。

    常见的脚本学习:

    ### DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

    上面的脚本是非常常见的一句。什么意思呢?
    <!--more-->

    看下面的分解脚本:

    {% highlight HTML %}
    #!/bin/bash
    DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
    echo "$DIR"

    S0="${BASH_SOURCE[0]}"
    DIRNAME0="$( dirname "$S0")"
    DIR0="$( cd "$DIRNAME0" && pwd)"

    echo "$S0"
    echo "$DIRNAME0"
    echo "$DIR0"
    {% endhighlight %}

    copy上面的脚本生成test.sh,将sh文件放到了DeskTop桌面目录。我当前在`~`目录里,执行了命令./DeskTop/test.sh可以看到输出:

    * /Users/vokie/Desktop

    * ./Desktop/test.sh

    * ./Desktop

    * /Users/vokie/Desktop

    分析一下:

    * S0的变量值是从当前目录指向test.sh文件的相对位置。

    * DIRNAME0 是获取test.sh文件相对位置的相对目录。(dirname命令是获取某个文件的相对目录)

    * DIR0 是获取test.sh文件的绝对路径。(首先是用cd命令,进入test.sh文件所在的相对目录,然后执行pwd,输出当前目录的绝对路径。需要注意`&&`的含义:当前面的命令成立时,才执行后面的命令。否则直接不执行后面的命令了,所以只有当cd进入了当前脚本的路径,才去获取当前脚本的绝对路径。)

    故上面那么一长串的脚本,其实就是:获取当前执行脚本所在位置的绝对路径。非常实用。赞一个!

  • 相关阅读:
    scrapy入门
    xpath的基本使用
    xpath 的用法
    线程同步
    Round #336 A. Saitama Destroys Hotel(Div.2)
    hdoj 1166 敌兵布阵(线段树and树状数组)
    hdoj 1873 看病要排队
    hdoj 2289 Cup
    hdoj 2689 Sort it
    hdoj 1150 Machine Schedule
  • 原文地址:https://www.cnblogs.com/vokie/p/4864217.html
Copyright © 2011-2022 走看看