linux下,简单一行代码提高脚本的健壮性

前言

新来的美女同事,拿她写的脚本向我请教时,我证实了程序猿经常说的一句话:OMG,这么狗屎的代码居然是我写的!!!

问题描述:

在linux/unix写脚本时,我大多习惯在第一行加上(或许还有一大班跟我一样习惯的人):

#!/usr/bin/bash
或者
#!/usr/bin/perl
或者
#!/usr/bin/python
……………………

用于操作系统执行这个脚本的时候,调用/usr/bin下的bash/perl/python解释器。

 

但是,这时存在两个小小问题:

1、本机的bash/perl/python……,你是否确定是安装在上述路径?

2、如果将你写的脚本移植到其它机器,能否正确运行?

改进建议:
#!/usr/bin/env bash 
或者 
#!/usr/bin/env perl 
或者
#!/usr/bin/env python
……………………

改进后的用法是为了防止用户没有将解释器安装在默认的/usr/bin路径里。当系统执行这一行的时候,首先会到env设置里(环境变量PATH)查找python的安装路径,再调用对应路径下的解释器程序完成操作。

简单的改进,避免了找不到解释器的问题,提高了程序的健壮性。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。