[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)path=0)
path=0)path=(cd dirname $0;pwd)
echo "this is full file name:"fullfileecho"thisisfilename:"fullfile
echo "this is file name:"fullfileecho"thisisfilename:"file
echo "this is file full path:"fullpathecho"thisisfilepath:"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:"fullfileecho"thisisfilename:"fullfile
echo "this is file name:"fullfileecho"thisisfilename:"file
this is full file name:checkpath.sh #输出结果
this is file name:checkpath #输出结果,一般用这种比较多,获取文件名,不带后缀

本文介绍了如何通过bash脚本获取文件名、路径、全路径,并探讨了`basename`和`dirname`函数的使用。重点讲解了如何在脚本中定位当前目录和文件名,适合初学者理解基础shell编程技巧。
308

被折叠的 条评论
为什么被折叠?



