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

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的安装路径,再调用对应路径下的解释器程序完成操作。

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

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