||
exit命令强行退出一个脚本,并且向调用这个脚本的进程返回一个整数值。例如:
#! /bin/bash
exit 1
在一个进程成功运行后,总是向其父进程返回数值0;其他非0返回值都表示发生了某种异常。至于父进程为什么需要接受这样一个返回值,这是父进程的事-----可以定义一些操作来处理子进程的异常退出(通过判断返回值是什么),也可以只是简单的丢弃它。
2. trap命令Trap命令用来捕获一个信号。信号是进程间通信的一种方式,可以简单地使用trap命令捕捉并忽视一个信号。下面这个脚本忽略INT信号,并显示一条信息提示用户应该怎样退出这个程序(INT信号当用户在Shell中按下Ctrl+C键时被发送)。
#! /bin/bash
trap `echo “Type quit to exit”` INT
while [ “input” != ‘quit’ ]
do
read input
done
有时候忽略用户的中断信号是有益的。某些程序不希望自己在执行任务的时候被打断,而要求用户依照正常手续退出。Trap还可以捕捉其他一些信号。下面这段脚本在用户退出脚本的时候显示“Goodbye!”,像ftp客户端做的那样。
#! /bin/bash
trap `echo “Goodbye”;exit` EXIT
echo “Type ‘quit’ to exit”
while [ “$input” != “quit” ]
do
read input
done
注意在trap命令中使用了复合命令“echo “Goodbye”;exit”,即先执行“echo “Goodbye””显示提示信息。再执行exit退出脚本。这条复合命令在捕捉到EXIT信号的时候执行。EXIT信号在脚本退出时被触发。
Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )
GMT+8, 2024-11-24 11:28 , Processed in 0.032004 second(s), 18 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.