请问这句 cd $(dirname `ls -l $0|awk '{print $NF;}'`)/..什么意思 ,实现的结果是什么

 我来答
cnbubble
2017-09-06 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:774万
展开全部

首先$0在脚本中是脚本文件的名字,

ls -l $0 返回数据类似如下格式:

awk  print $NF是只打印最后一列,即./sd.sh

当然也有可能是绝对路径,主要看你调用时是使用的什么路径。

dirname返回给出文件或文件夹所在的路径,不含最后的文件名或文件夹名,不含最后的/符号。

所以返回值是.

cd 执行的是 ./..

即跳转到脚本所在的目录的上一层目录中。

匿名用户
2017-09-06
展开全部
$0 是特殊变量,值为当前脚本的文件名

ls -l $0 | awk '{print $NF}'的输出结果是当前脚本名

dirname file_name 会输出filename所在的路径

最后 cd 脚本所在路径/..

最终结果是进入脚本所在路径的上一层目录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式