bash脚本返回值应用
Posted lida2003
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash脚本返回值应用相关的知识,希望对你有一定的参考价值。
bash脚本返回值应用
应该说bash脚本对于linux系统来说具有举足轻重的意义。
这里不做展开,也不做bash脚本介绍。更多的是做一个例子,应用了bash脚本的以下特性:
- 输入参数
- 函数定义
- 调用可执行命令
- 脚本递归
- 条件判断
脚本具有以下功能:
- 支持可执行文件判断
- 支持单一文件可执行判断(echo $?查询)
- 支持多个文件可执行判断 (直接打印输出)
执行效果:
$ ./bash_script.sh bash_script.sh a.out test.c ttt.txt test.txt
x:./bash_script.sh bash_script.sh
x:./bash_script.sh a.out
x:./bash_script.sh test.c
n:./bash_script.sh ttt.txt
n:./bash_script.sh test.txt
脚本代码:
#!/bin/sh
# HELP
# param: file name
# description: check file existed and exectuable, return 1 or 0 (for NOT existed or unexectuable file)
# x: file existed and exectuable
# n: normal file
# e.g.
# $ ./bash_script.sh test.txt a.out
# n:./bash_script.sh test.txt
# x:./bash_script.sh a.out
#
PRINT ()
if [ $1 = 1 ]; then
echo "x:$2 $3"
else
echo "n:$2 $3"
fi
HELP ()
echo $0
echo "param: file name"
echo "description: check file existed and exectuable, return 1 or 0 (for NOT existed or unexectuable file)"
echo "x: file existed and exectuable"
echo "n: normal file"
echo "e.g. "
echo "$ ./bash_script.sh test.txt a.out"
echo "n:./bash_script.sh test.txt"
echo "x:./bash_script.sh a.out"
EXEC_FILE_NAME=$0
case $# in
0) HELP
#EXEC_COMMAND="$EXEC_FILE_NAME $EXEC_FILE_NAME";
#bash $EXEC_COMMAND
#ERR=$?
#PRINT $ERR $EXEC_FILE_NAME $EXEC_FILE_NAME
break;;
1) if [ -x "$1" ]; then
exit 1
else
exit 0
fi
break;;
*) EXEC_COMMAND="$EXEC_FILE_NAME $1";
bash $EXEC_COMMAND
ERR=$?
PRINT $ERR $EXEC_FILE_NAME $1
shift
EXEC_COMMAND="$0 $@"
bash $EXEC_COMMAND
ERR=$?
if [ $# = 1 ]; then
PRINT $ERR $0 $@
fi
esac
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系
以上是关于bash脚本返回值应用的主要内容,如果未能解决你的问题,请参考以下文章