bin python_#!/usr/bin/env python与#!/usr/bin/python的区别

这个在unix类的操作系统才有意义。

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;

#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

这跟linux系统里安装python的目录有关

#!/usr/bin/python相当于写死了python路径;

#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法

楼主可以敲击env这个命令看一下执行结果,下面是我的结果:

[root@REdHAT root]# env

HOSTNAME=REdHAT

TERM=linux

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=10.2.1.5 49924 22

SSH_TTY=/dev/pts/1

USER=root

LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:

USERNAME=root

MAIL=/var/spool/mail/root

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/root/bin

INPUTRC=/etc/inputrc

PWD=/root

LANG=en_US.UTF-8

SHLVL=1

HOME=/root

BASH_ENV=/root/.bashrc

LOGNAME=root

SSH_CONNECTION=10.2.1.5 49924 10.2.1.234 22

LESSOPEN=|/usr/bin/lesspipe.sh %s

G_BROKEN_FILENAMES=1

_=/bin/env

再尝试敲击命令env python:

[root@REdHAT root]# env python

Python 2.6.1 (r261:67515, Oct 22 2009, 16:19:48)

[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

发现可以进到python的shell里面

脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单

这个写法要根据实际情况啦,我遇到过一个环境是嵌入式的linux系统,这里就没有/usr/bin/env这个程序,所以我需要以/usr/bin/python这种方法去运行,还是要按具体情况去分析的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值