[sh]basename&dirname截取路径和文件名&case参数选项

时间:2021-08-06 11:48:04

给出全路径,取出路径和文件名

basename使用示例

http://codingstandards.iteye.com/blog/840784

示例一

[root@web ~]# basename /usr/bin/sort
sort
[root@web ~]# dirname /usr/bin/sort
/usr/bin
[root@web ~]#

示例二

[root@web ~]# basename /usr/include/stdio.h .h
stdio
[root@web ~]# basename /usr/include/stdio.h stdio.h
stdio.h
[root@web ~]#

https://blog.csdn.net/wh_19910525/article/details/7519452

#  basename include/stdio.h
stdio.h # dirname include/stdio.h
include ## 取一个文件名(去掉后缀名),可以用basename。这个命令使用起来貌似有些死板。你要 完整地写出 后缀名(想要剔除的部分)。 格式:basename NAME SUFFIX 去掉NAME中的目录部分和后缀SUFFIX,如果没有了,则输出SUFFIX。 例:
aguo@auto-test:~> basename insert.test.sql test
insert.test.sql
aguo@auto-test:~> basename insert.test.sql .test
insert.test.sql
aguo@auto-test:~> basename insert.test.sql sql
insert.test.
aguo@auto-test:~> basename insert.test.sql .sql
insert.test

case参数化启停脚本

https://blog.csdn.net/love__coder/article/details/7262160

name=`basename $0 .sh` # demo.sh --> 取出: demo

case $1 in
s|start)
echo "start..."
;;
stop)
echo "stop ..."
;;
reload)
echo "reload..."
;;
*)
echo "Usage: $name [start|stop|reload]"
exit 1
;;
esac
exit 0
case $1 in
s|start) echo 'start...';;
stop) echo 'stop';;
*) echo "USAGE: [start|stop]";;
esac