1、 _exit 不会flush 任何标准输入输出 (stdio)流,即通过printf/fprintf 这类调用产生的尚未写入设备仍在缓冲中的数据都会丢弃
2、 _exit 时不会调用任何通过 atexit/on_exit 注册的回调函数
printf 如果不加 \n, 则信息是不会立刻打印出来的 (由于标准输出是按行缓冲的,具体细节这里不展开,自己去查标准输入输出 stdio 的缓冲机制),那么根据上面说的第一条, _exit 时打印信息会丢失,而 exit 不会。 如果有 \n ,则直接打印出来,此时 exit/_exit 无区别
另,一般统一应该用 exit, 除非你有非常特殊的需求,知道自己在干什么,且清楚 exit/_exit 的区别,才可以用 _exit
在shell中的条件判断语句格式为:
其中elif和else不是必须的,如果只需判断一次,那么if...fi即可。值得注意的是if后面中括号[]中的语句[的后面和]的前面必须要有空格。
下面通过判断大小和文件是否存在看一下判断语句的用法:
-gt 大于 (greater than);
-lt 小于(less than);
-eq 等于(equal);
-ne 不等于(not equal);
-ge 大于等于(greater equal)
-le 小于等于(less equal)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)