[root@localhost home]# ./checkpath.sh
this is full file name:checkpath.sh
this is file name:checkpath
this is file full path:/home/checkpath.sh
this is file path:/home
[root@localhost home]# cat checkpath.sh
#!/bin/bash
fullfile=basename $0
file=basename $0 .sh
fullpath=$(readlink -f
0
)
p
a
t
h
=
0) path=
0)path=(cd dirname $0
;pwd)
echo "this is full file name:"
f
u
l
l
f
i
l
e
e
c
h
o
"
t
h
i
s
i
s
f
i
l
e
n
a
m
e
:
"
fullfile echo "this is file name:"
fullfileecho"thisisfilename:"file
echo "this is file full path:"
f
u
l
l
p
a
t
h
e
c
h
o
"
t
h
i
s
i
s
f
i
l
e
p
a
t
h
:
"
fullpath echo "this is file path:"
fullpathecho"thisisfilepath:"path
dirname 有2种可能:
1,带相对路径,只能获取相对路径
2,带绝对路径,则可以获取完整的路径
一般这个基本是执行脚本,需要进入到当前脚本的目录中,或者相对这个脚本的相对路径中,所以一般用如下命令可以实现拿到当前脚本的路径
path=$(cd dirname $0
;pwd)
echo “this is file path:”$path
this is file path:/home #输出结果
bashname 获取脚本的文件名
fullfile=basename $0
file=basename $0 .sh
echo "this is full file name:"
f
u
l
l
f
i
l
e
e
c
h
o
"
t
h
i
s
i
s
f
i
l
e
n
a
m
e
:
"
fullfile echo "this is file name:"
fullfileecho"thisisfilename:"file
this is full file name:checkpath.sh #输出结果
this is file name:checkpath #输出结果,一般用这种比较多,获取文件名,不带后缀