文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>“#!”引起的一个问题

“#!”引起的一个问题

时间:2008-05-14  来源:yk325

    今天在学习Python时遇到一个问题,代码如下:

# !/usr/bin/python

# pro: t01.py
# printing a line of text in Python

print "Welcome to Python!"


    执行上述程序的时候总是出现如下的错误:

yk@debian-yk:ch02$ ./t01.py
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "zh_CN:zh",
        LC_ALL = (unset),
        LANG = "en_US.utf-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Warning: unknown mime-type for "Welcome to Python!" -- using "application/*"
Error: no such file "Welcome to Python!"

   
    后来我把

# !/usr/bin/python

改成了

#! /usr/bin/python
或者
#!/usr/bin/python


之后,程序均正常通过。
    由此,我又查了一些关于“#!”的资料,记录如下:
    “#!”实际上是一个2字节的魔法数字,这是指定一个文件类型的特殊标记,换句话说,在这种情况下,指的就是一个可执行的脚本(可键入man magic来获得更多关于这方面的信息)。在“#!”之后接着的是一个路径名。这个路径名指定了一个解释脚本中命令的程序,这个程序可以是shell,程序语言或者是任意一个通用程序。这个指定的程序从头开始解释并且执行脚本中的命令(从“#!”行下边的一行开始),忽略浅释,如:

#! /bin/sh

#! /bin/bash

#! /usr/bin/python
#! /usr/bin/tcl
#! /bin/sed -f
#! /bin/awk -f


    注意:#!之后给出的路径名必须正确,否则将会出现一个错误信息,通常是“Command not found”,这将是你运行这个脚本所得到的唯一结果。

    现在比较奇怪的是:对shell脚本来说“# !/bin/sh”也可以正常通过,如下是我的一个测试脚本:

# !/bin/sh

echo "Hello"
echo
date


    不知道这是怎么回事,还请知道的解释一下,谢谢
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载