Chinaunix
标题:
shell脚本中如何实现Help功能?
[打印本页]
作者:
johnson0418
时间:
2015-12-08 13:58
标题:
shell脚本中如何实现Help功能?
我想在执行a.sh时,可使用-h & --help的功能,如何编写?
例:
>a.sh -h
>显示帮助的信息。。。
作者:
vagrant_1220
时间:
2015-12-08 14:03
需要对输入参数做处理,例如
while [ $# -gt 0 ]; do
case $1 in
-h)
usage
shift 1
。。。。
作者:
johnson0418
时间:
2015-12-08 14:23
回复
2#
vagrant_1220
不明白。 试了一下 好像不行
作者:
vagrant_1220
时间:
2015-12-08 14:35
给你的只是提示 ,这个可运行
#!/bin/bash
usage(){
echo -e "Usage: $0 [OPTIONS]"
echo -e " -H --help display help info ."
exit 1
}
while [ $# -gt 0 ]; do
case $1 in
-h|--help)
usage
shift 1
;;
esac
done
作者:
johnson0418
时间:
2015-12-08 19:14
回复
4#
vagrant_1220
shell了解有限,非常感谢您的回复。OK了
作者:
johnson0418
时间:
2015-12-08 19:43
回复
4#
vagrant_1220
有个问题,./a.sh -h的时候,他会执行并显示帮助信息,可否使用-h后只显示帮助信息并不执行此shell?我把你写的那一段放在我的shell最后了,不知是不是放的位置不对?
[root]# ./a.sh -h
..
...
....
.....
......
Installation is completed.
Usage: ./zz [OPTIONS]
-H --help display help info .
作者:
jcdiy0601
时间:
2015-12-09 09:53
#!/bin/bash
case $1 in
-h)
echo 'hi,this is help...'
;;
esac
复制代码
作者:
johnson0418
时间:
2015-12-09 09:59
回复
7#
jcdiy0601
谢谢你的回复
[root]# a.sh -h
-bash: a.sh: command not found
[root]# ./a.sh -h
..
...
....
.....
......
Installation is completed.
hi,this is help...
但是他已经执行a.sh文件 了,我意思是a.sh -h或./a.sh -h只是看帮助信息,不需要执行文件 。要怎么写?
作者:
seanking1987
时间:
2015-12-09 10:17
楼上好几个人都回答的正确的。
但是需求有千万种,不太可能每一个需求都让别人全部一字不漏的写完,可以copy回去再修改修改。
楼主的“有个问题,./a.sh -h的时候,他会执行并显示帮助信息,可否使用-h后只显示帮助信息并不执行此shell?我把你写的那一段放在我的shell最后了,不知是不是放的位置不对?”
1.帮助-h要写在最前面。
2.执行完-h的操作后加一个exit直接退出
作者:
johnson0418
时间:
2015-12-09 10:29
回复
9#
seanking1987
我在试试,主要是我对shell不熟悉,只是日常工作中经常 会用到几个命令,所以写了一个,这不来这请教大神嘛。非常感谢你们耐心的回答!!!!
作者:
lrz
时间:
2015-12-26 01:49
处理参数最好用getopts
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2