zoukankan      html  css  js  c++  java
  • bash shell:获取当前脚本的绝对路径(pwd/readlink)

    有时候,我们需要知道当前执行的输出shell脚本的所在绝对路径,可以用dirname实现。 
    我们知道 dirname 可以获取一个文件所在的路径,dirname的用处是:

    输出已经去除了尾部的”/”字符部分的名称;如果名称中不包含”/”, 
    则显示”.”(表示当前目录)。

    下面是dirname的命令行说明: 
    这里写图片描述 
    从上面的描述可知道,直接从dirname返回的未必是绝对路径,取决于提供给dirname的参数是否是绝对路径。 
    所以下面这样的代码中SHELL_FOLDER中不一定是绝对路径

    SHELL_FOLDER=$(dirname "$0")
    • 1

    需要用cd和pwd命令配合获取脚本所在绝对路径,正确的写法是这样的,

    SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
    • 1

    如果你觉得上面的写法比较麻烦,还有一个方式获取脚本的绝对路径,就是借助readlink命令,下面是readlink的命令行说明: 
    这里写图片描述

    所以用readlink命令我们可以直接获取$0参数的全路径文件名,然后再用dirname获取其所在的绝对路径:

    SHELL_FOLDER=$(dirname $(readlink -f "$0"))
  • 相关阅读:
    命名函数
    匿名函数
    Elixir基础
    Elixir特性
    linux下安装erlang
    更具先序、中序遍历生成二叉树
    第一章 TCP/IP协议族
    React Native开发之expo中camera的基本使用
    Vue中异步组件(结合webpack,转载)
    vue中将html字符串转换成html后的一些问题
  • 原文地址:https://www.cnblogs.com/ExMan/p/9118183.html
Copyright © 2011-2022 走看看