shell basename dirname readlink使用

[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 #输出结果,一般用这种比较多,获取文件名,不带后缀

上一篇:【el-input | el-select 调用浏览器默认的用户名密码如何处理】


下一篇:shell基础