免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1417 | 回复: 4
打印 上一主题 下一主题

[文本处理] 一个 shell脚本里的命令看不懂 请各位指点一下 谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-20 17:49 |只看该作者 |倒序浏览
#!/bin/bash

. /etc/profile
. ~/.bash_profile

BASE_PATH=$( cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P )
不明的到底$BASE_PATH到底去了什么目录  红色的那命令啥啥意思啊 不是很明白

论坛徽章:
0
2 [报告]
发表于 2014-02-20 18:34 |只看该作者
是个脚本不?红色的你这个脚本实际路径

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
3 [报告]
发表于 2014-02-20 18:57 |只看该作者
没见过,求解答!

论坛徽章:
0
4 [报告]
发表于 2014-02-20 19:19 |只看该作者
本帖最后由 runintostar 于 2014-02-20 19:20 编辑

回复 1# 大海里的骆驼
回复 3# jeffreyst
额,我回家了,我详细说一下,我的理解,可能不适应于所有,接触的linux不多,命令功能说的有差别别见怪,但基本是这个意思。
command -v -- 后面跟的是$0,
也就是你调起这个脚本时用的路径
可能是
./xxx.sh 也可能是 /xxx/xxx/xxx.sh 也可能是 xxx.sh (当pwd在$PATH里时)

command -v -- 可以在xxx.sh在PATH里时,同样输出这个xxx.sh的全路径,也就是附上它在PATH里的全路径。
这也是它为了防止你在任意路径使用脚本名直接调起时找不到他原本的路径。

其他两个情况都是简单情况

dirname 取到目录 然后 cd&&pwd
-P 貌似是为了得到真实目录 防止link

论坛徽章:
29
程序设计版块每日发帖之星
日期:2016-02-29 06:20:0015-16赛季CBA联赛之天津
日期:2016-08-10 10:33:1115-16赛季CBA联赛之深圳
日期:2016-08-17 15:07:2015-16赛季CBA联赛之佛山
日期:2016-11-07 11:33:5015-16赛季CBA联赛之广夏
日期:2016-11-15 09:13:31CU十四周年纪念徽章
日期:2016-11-24 14:12:25极客徽章
日期:2016-12-07 14:03:4015-16赛季CBA联赛之深圳
日期:2016-12-07 17:15:2715-16赛季CBA联赛之北京
日期:2016-12-22 09:30:0115-16赛季CBA联赛之深圳
日期:2016-12-22 10:49:2115-16赛季CBA联赛之山西
日期:2017-02-10 09:05:3215-16赛季CBA联赛之同曦
日期:2017-02-27 14:19:08
5 [报告]
发表于 2014-02-20 22:47 |只看该作者
就是到脚本所在的目录下, 非软连接的目录, 是实际目录
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP