[问题]帮忙看下什么意思

sh/bash/dash/ksh/zsh等Shell脚本
回复
novesky
帖子: 159
注册时间: 2008-07-12 17:18

[问题]帮忙看下什么意思

#1

帖子 novesky » 2008-07-27 15:04

代码: 全选

myfile=`basename $0`
mypath=`echo $0 | sed -e 's/'$myfile'//g'`
手机的很多脚本里有这个,具体什么意思不清楚,麻烦DX们解释一下
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#2

帖子 xiooli » 2008-07-27 15:23

比如说你某个文件的全路径是/bin/bash吧,那么myfile就会获得该文件的文件名“bash”,而mypath则取得其路径“/bin/”
novesky
帖子: 159
注册时间: 2008-07-12 17:18

#3

帖子 novesky » 2008-07-27 15:32

xiooli 写了:比如说你某个文件的全路径是/bin/bash吧,那么myfile就会获得该文件的文件名“bash”,而mypath则取得其路径“/bin/”
有点看懂了,谢谢
头像
79hy
帖子: 80
注册时间: 2007-10-24 10:21
来自: 长沙

#4

帖子 79hy » 2008-07-28 11:09

代码: 全选

mypath=`echo $0 | sed -e 's/'$myfile'//g'`
这个写的不好,既然前面用了basename,后面取路径不就用个dirname不就完了,还替换????
novesky
帖子: 159
注册时间: 2008-07-12 17:18

#5

帖子 novesky » 2008-08-02 9:38

79hy
有道理啊。
novesky
帖子: 159
注册时间: 2008-07-12 17:18

#6

帖子 novesky » 2008-08-02 11:17

basename 取的是没有后缀的文件名,如果要取有后缀的文件名怎么操作?
头像
Tobey
帖子: 178
注册时间: 2006-03-30 13:34

#7

帖子 Tobey » 2008-08-03 16:39

谁说是没有后缀的?

取的就是除路径外的整个文件名。
novesky
帖子: 159
注册时间: 2008-07-12 17:18

#8

帖子 novesky » 2008-08-08 11:16

Tobey 写了:谁说是没有后缀的?

取的就是除路径外的整个文件名。
是我错了
回复