转自:shell的dirname $0和readlink用法

获取当前脚本路径

path.sh
#!/bin/bash
path=$(cd `dirname $0`;pwd)
echo $path
path2=$(dirname $0)
echo $path2
当前脚本存在路径:/home/software
sh path.sh
/home/software
.
解释:
dirname $0 只是获取的当前脚本的相对路径.
cd `dirname $0`;pwd  先cd到当前路径然后pwd,打印成绝对路径方法二:
path.sh
#!/bin/bash
path=$(dirname $0)
path2=$(readlink -f $path)
echo path2
sh path.sh
/home/software
解释:
readlink -f $path 如果$path没有链接,就显示自己本身的绝对路径

readlink

readlink是linux用来找出符号链接所指向的位置
例1:
readlink -f /usr/bin/awk
结果:
/usr/bin/gawk #因为/usr/bin/awk是一个软连接,指向gawk
例2:
readlink -f /home/software/log
/home/software/log  #如果没有链接,就显示自己本身的绝对路径

参数:path -- 要查找的软链接路径

返回值:返回软链接所指向的文件

以下实例演示了 readlink() 方法的使用:

#!/usr/bin/python3import ossrc = '/usr/bin/python'
dst = '/tmp/python'# 创建软链接
os.symlink(src, dst)# 使用软链接显示源链接
path = os.readlink( dst )
print (path)

执行以上程序输出结果为:

/usr/bin/python

获取路径的比较

path.sh
#!/bin/bash
PATH1=$(dirname $0)
PATH2=$(cd `dirname $0`;pwd)
PATH3=$(readlink -f $PATH1/..)
echo $PATH1
echo $PATH2
echo $PATH3
当前脚本存在路径:/home/software
sh path.sh
.              【echo $PATH1】
/home/software 【echo $PATH2】
/home          【echo $PATH3】

【shell】dirname $0和readlink用法相关推荐

  1. Linux的readlink与dirname $0和readlink用法以及sed的使用,Linux系统盘和数据盘的查看等整理汇总

    Linux与Shell相关命令整理 dirname $0和readlink用法 获取当前脚本路径 path.sh dirname $0 只是获取的当前脚本的相对路径. #!/bin/bash path ...

  2. shell中$0,$?,$!等的特殊用法

    shell中$0,$?,$!等的特殊用法 (2011-03-01 17:38:00) 转载▼ 标签: it   变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行 ...

  3. Linux中shell编程的for循环用法

    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究... 1. for((i=1;i<=10;i++));do e ...

  4. SHELL/SSH基础知识(入门篇)-包含 shell 脚本语言的基本用法、 shell 脚本语言的基本用法、流程控制、函数 function、其它脚本相关工具、数组 array(欢迎留言交流)

    目录 1 shell 脚本语言的基本用法 1.1 shell 脚本注释规范 1.1.1 shell 脚本注释规范 1.1.2 执行(5种) 1.1.3 在远程主机运行本地脚本 1.1.4 检查shel ...

  5. readlink用法

    - 打印已解析的符号链接或规范文件名  格式  readlink [OPTION]... [FILE]...  描述  打印符号链接或规范文件名的值  -f, --canonicalize  通过遵循 ...

  6. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID)  $!  Shell最后运行的后台Process的PID  $ ...

  7. linux中sh+$0,浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    摘抄自:ABS_GUIDE 下载地址:http://www.tldp.org/LDP/abs/abs-guide.pdf linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: ...

  8. C语言 (条件编译#ifdef、#ifndef) (#if 常量,#if 1,#if 0)的用法

    当屏蔽掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/** ...

  9. shell变量$#,$@,$0,$1,$2解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

最新文章

  1. Guava 中的 Stopwatch 是个什么鬼?
  2. 求5个学生4门成绩的总分和平均分
  3. python numpy官网_Python Numpy 教程(上)
  4. 月薪40K的推荐算法工程师,需要具备怎样的技能?
  5. 【算法】差分约束系统
  6. flex 图片旋转(解决公转和自转问题)
  7. 分页第一页用0还是1_如何设计api分页
  8. dbus 和 policykit 实例篇(python)
  9. 01-H5语义化标签
  10. 在Grails 2.0中使用Servlet 3.0异步功能
  11. ASP.Net数据库如何存取图片
  12. JavaScript获取距离某天前或后的日期
  13. latex 改变字体颜色
  14. OpenCV身份证离线识别技术实战(一)
  15. edius隐藏快捷键_Eduis快捷键,大家参考一下!【EDIUS】史上最全的EDIUS快捷键资料分享!...
  16. qu32调音台说明书_Qu-32 数字调音台
  17. 人脸识别十大关键技术
  18. 用手机打开word图表位置很乱_原来Word还可以自动生成图片和图表目录!
  19. 衰老,其实是一种疾病?
  20. Android 集成环信客服云

热门文章

  1. Nat. Chem. Biol. | 功能宏基因组筛选发现一种意想不到的β-葡萄糖醛酸酶
  2. 地理信息系统相关软件技术杂志
  3. 单片机动态从00到99C语言,基于c语言单片机秒表课程设计1.doc
  4. 成都嵌智捷达科技产品高清录屏器设备
  5. 前端自动化构建工具--Plop
  6. matlab 雷达工具箱,radar_toolbox
  7. 2022年河北省安全保护服务人员(初级保安员)考试练习题及答案
  8. Jpegsnoop-可以鉴别图片是否被PS的工具
  9. 网络推广团队浅谈网站关键词布局的小技巧!
  10. 《UNIX网络编程:套接字联网API》啃书笔记(第8UDP套接字编程、11章地址转换)