答案:

$(cd $(dirname $0);pwd)

栗子:

#! /bin/shecho '$0 = '$0
echo '$(dirname $0) = '$(dirname $0)
echo '$(cd $(dirname $0);pwd) = '$(cd $(dirname $0);pwd)

直接执行脚本:sh test.sh

结果如下:

$0 = test.sh
$(dirname $0) = .
$(cd $(dirname $0);pwd) = /home/xcl/Doc/test/test_sh

返回上一目录,在执行脚本,得到如下结果:

$0 = ./test_sh/test.sh
$(dirname $0) = ./test_sh
$(cd $(dirname $0);pwd) = /home/xcl/Doc/test/test_s

由此可知,

$0,代表当前脚本相对于当前目录的位置。

$(dirname $0) ,代表指定文件相对于当前目录的位置。

$(cd $(dirname $0);pwd),表示切换到指定文件所在的目录,然后执行 pwd,从而获取到当前脚本所在的绝对路径。

拓展:

双引号和单引号的区别:双引号会解析里面的变量,而单引号给啥显示啥。

(SAW:Game Over!)

shell / 获取当前工作目录的方法相关推荐

  1. Linux中 shell 脚本获取当前工作目录的方法

    Linux中 shell 脚本获取当前工作目录的方法 1. 示例 2. 注意: 参考: 1. 示例 test.sh target_dir=$(cd $(dirname $0); pwd) echo $ ...

  2. java获取当前工作目录

    java获取当前工作目录 代码片段 System.out.println("用户的当前工作目录:/n"+System.getProperty("user.dir" ...

  3. Eclipse更改默认工作目录的方法

    参考: Eclipse更改默认工作目录的方法:http://blog.163.com/take_make/blog/static/208212210201272611406227/ 用记事本打开&qu ...

  4. python工作目录_python获取当前工作目录

    在编程中经常需要用到当前脚本的工作目录,以下是python脚本获取当前工作目录的语句.例test.py importinspect dir = inspect.getfile(inspect.curr ...

  5. VC 获取当前工作目录和执行目录的一些方法

    1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName      获取模块的完整路径. 2.   System.Env ...

  6. 用Java获取当前工作目录

    我想使用以下命令访问我当前的工作目录 String current = new java.io.File( "." ).getCanonicalPath();System.out. ...

  7. python 脚本所在目录,Python 获取当前所在目录的方法详解

    sys.path 模块搜索路径的字符串列表.由环境变量PYTHONPATH初始化得到. sys.path[0]是调用Python解释器的当前脚本所在的目录. sys.argv 一个传给Python脚本 ...

  8. linux shell 显示字符串长度,Shell获取字符串长度的多种方法总结

    前言 我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳.汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧. 方法如下: [方法一]:利 ...

  9. Python获取当前工作目录

    1.sys.arg[0]: import sys print(sys.argv[0])#当前脚本的位置 1     2 输出结果: G:/Pythonxx/test.py 1 2.os模块 impor ...

最新文章

  1. pyqt 多线程使用
  2. Cocoa Touch 层
  3. android4.0支持m3u8格式,【报Bug】安卓下无法播放M3U8格式音频,报错
  4. 蓝桥杯第七届决赛JAVA真题----广场舞
  5. 计算机的关机键,怎么让电脑按关机键后不关机?让电脑主机上关机键失效的方法...
  6. mac 下chrome 和 微信web开发工具跨域配置
  7. 绝地大逃杀服务器维护多少时间,绝地求生4月12日维护到几点/维护多长时间 绝地求生4.12维护什么时候好/能进游戏...
  8. java根据身份证号判断当前年龄
  9. matlab 图像加密解密 代码,matlab图像加密解密
  10. QT视频采集之编码Enc和录像Rec
  11. 补交20145226蓝墨云班课 -- MyOD
  12. iOS小技能:社会化分享方案
  13. 我在南邮的三年—研二生活
  14. springMVC源码之组件介绍
  15. CSS中cursor的属性hander和pointer
  16. 猎头职场:混职场别败在嘴上
  17. 林语堂告倒世界书局内幕
  18. Matlab函数trainingOptions参数解析
  19. [IC笔试题] FIFO深度计算
  20. scandall pro找不到扫描仪_微信打开这个功能,手机秒变扫描仪,纸质文档一键电子化...

热门文章

  1. 解决ftp上传connection reset错误
  2. mvc3中正确处理ajax访问需要登录的页面
  3. adblock拦截iframe
  4. 将SQL Server中所有表的列信息显示出来
  5. github上关于机器学习的awesome项目(资源大全)
  6. SpringCloud教程-消息总线Bus 客户端(client)刷新(SpringCloud版本Greenwich.SR4)
  7. linux tar zcf打包时注意事项
  8. Istio入门:架构原理及在k8s部署
  9. 【收藏】Win10自带的邮件客户端配置腾讯企业邮箱账号详解
  10. K8S部署工具:KubeOperator集群规划-手动模式