前言
新来的美女同事,拿她写的脚本向我请教时,我证实了程序猿经常说的一句话: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的安装路径,再调用对应路径下的解释器程序完成操作。
简单的改进,避免了找不到解释器的问题,提高了程序的健壮性。
时间: 2024-10-20 13:13:53