例如:DIR="$( cd "$(dirname "$0")" ; pwd -P )"

解析:

$0 类似于python中的sys.argv[0]等。 $0指的是Shell本身的文件名。类似的有如果运行脚本的时候带参数,那么$1 就是第一个参数,依此类推。 
dirname 用于取指定路径所在的目录 ,如 dirname /home/ikidou 结果为 /home。 
$ 返回该命令的结果 
pwd -P 如果目录是链接时,格式:pwd -P 显示出实际路径,而非使用连接(link)路径

一、pwd和dirname

1、pwd返回的是当前目录,“print name of current/working directory”,但并不一定是脚本存放的目录,如下所示,当在~/c-example路径下执行

pwd得到结果并不是脚本所在的路径
   
    2、dirname $0在命令行状态下返回" . ",而在脚本中返回的是脚本所在的路径,且是脚本所在路径相对于命令执行时的路径
      是test.sh相对于命令执行时的相对路径
       3、二者的区别可由如上示例看到:pwd会随着cd等指令而变化,但最开始由dirname $0得到的相对路径是一个固定参数。

shell pwd 和 dirname 讲解相关推荐

  1. 【Shell系列】$(shell pwd)和$(pwd)用法区别

    Date: 2019-5-8 1.参考 $(shell pwd)和$(pwd)有什么区别 shell 基础 $(cd `dirname $0`;pwd) Linux常用命令简述–dirname与bas ...

  2. shell脚本编程 实例讲解

    shell脚本编程 实例讲解 1.键盘输入三个数字,按照从大到小的顺序输出! 排序题 a b c 2 10 9 a=2 b=10 v=9 第一步: 两两相互进行比较,比较三次 第二步:不论谁大谁小,最 ...

  3. Shell之$(cd $(dirname $0); pwd)命令详解

    path = $(cd $(dirname $0); pwd)解析: 1.取当前运行脚本的所在路径: $0 2.取当前脚本所在路径的父目录: dirname 3.取返回的父目录的值: $(dirnam ...

  4. shell小记:dirname

    在shell中,会有以下语句用于获取当前的路径: CURRENT_DIR="$(cd "$(dirname "$0")"; pwd)" 其中 ...

  5. 数组元素替换_Linux Shell 通俗简要的讲解数组操作

    Shell 数组 什么是数组?学过计算机编程语言的同学们都知道,数组的特性就是一组数据类型相同的集合 Bash Shell 数组中可以存放多个值,且只支持一维数组(不支持多维数组),初始化时不需要定义 ...

  6. shell命令之`dirname`

    在读一个shell脚本的时候,看到了dirname这个命令,本着了解一番的心理,发现这个命令还是蛮有用的.所以,简单记录一下dirname用法. 用法:获取文件所在目录 使用方法: file=&quo ...

  7. Shell 变量及函数讲解 [2]

    Shell 变量的输入     Shell变量除了可以直接赋值或脚本传参外,还可以使用read命令从标准输入获得,read为bash内置命令,可以通过help read查看帮助     [语法格式] ...

  8. Shell脚本中dirname命令的使用

    一.作用 获取某一个文件或目录的上一级目录 二.用法 格式: dirname 文件或目录 三.例子 dirname /home/users/aoquan/ 输出结果: /home/users

  9. shell pwd 命令

    如果当前工作目录中包含符号链接,pwd 默认并不会输出实际的工作路径,而如果想输出实际的工作路径 ,需要加上 -P 参数 david@:test$ pwd /home/david/shell_work ...

最新文章

  1. 【Qt】解决在linux上使用Qt的媒体模块(Qt += multimedia)缺少模块multimedia的问题
  2. 一封会笑死人的校园情书
  3. Survey | 基于图卷积网络的药物发现方法
  4. Cannot create a session after the response has been committed的处理
  5. ASP.NET 验证码示例
  6. 经典的异或题:只出现一次的数字
  7. 如何选择 Git 分支模式?
  8. 一位大牛的JAVA学习资料
  9. 恐鬼症不显示服务器区域,恐鬼症 steam版【简体中文】【4.34GB】
  10. mysql数学函数名_Mysql数学函数
  11. Qt文档阅读笔记-重现GUI事件进行单元测试
  12. raft算法_学习分布式一致性协议:自己实现一个Raft算法
  13. Mysql show status详解
  14. Vue-Cli3配置多页面应用(详)
  15. 怎样快速使用计算机,三分钟教你如何快速熟悉电脑,怎样快速准确的熟悉键盘打字以及快捷键的使用...
  16. 并查集(UnionFind)算法
  17. 门禁管理系统服务器,门禁控制软件 门禁管理系统
  18. ajax背景,ajax到底是什么?ajax的背景和使用介绍(附实例解析)
  19. IDEA去掉SQL语句的黄色警告
  20. linpack测试软件,【分享】linpack ——intel的pc算力测试软件

热门文章

  1. Python—SVD分解压缩图片
  2. 基于springboot开发餐厅点餐管理系统
  3. 【宇宙最强编辑器VS Code】(八)使用VS Code在线听网易云 —— vsc-netease-music(内附1.35版本之后无声音的解决方案、1.40版本之后的not support问题)
  4. UWP 和 WPF 对比
  5. Win server 2012及sql server 2014,2016及vs安装及资料及故障排除
  6. 【山外笔记-工具框架】SVN版本控制系统
  7. BP神经网络隐藏层单元数的选择--(1)
  8. python 金字塔_Python金字塔
  9. 帆软10.0突然出现黑色框线以及打印预览出现plain问题
  10. 数据库入门教程:如何在 MySQL 中选择除了某一列以外的所有列?