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

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

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
原文地址:https://www.cnblogs.com/iiiiiher/p/9525050.html