运行Python脚本而不显式调用`Python`
我试图在不编写python func.py的情况下运行python脚本。 我已将添加到脚本文件#/usr/bin/python2.7 是否使用chmod+x func.py 尝试运行时:./func.py-p show-c all 脚本工作正常,但如果我尝试去掉“flags”(-p,-c)或“/”或“.py”,它将无法工作。 脱旗返回:运行Python脚本而不显式调用`Python`,python,linux,Python,Linux,我试图在不编写python func.py的情况下运行python脚本。 我已将添加到脚本文件#/usr/bin/python2.7 是否使用chmod+x func.py 尝试运行时:./func.py-p show-c all 脚本工作正常,但如果我尝试去掉“flags”(-p,-c)或“/”或“.py”,它将无法工作。 脱旗返回: [root@pg66 tmp]# ./func.py show all usage: func.py [-h] [-p PROCESS] [-c CLUST
[root@pg66 tmp]# ./func.py show all
usage: func.py [-h] [-p PROCESS] [-c CLUSTER] [-t TYPE]
func.py: error: unrecognized arguments: show all
[root@pg66 tmp]# func.py -p show -c all
-bash: func.py: command not found
将“/”和“.py”从返回中移除:
[root@pg66 tmp]# ./func.py show all
usage: func.py [-h] [-p PROCESS] [-c CLUSTER] [-t TYPE]
func.py: error: unrecognized arguments: show all
[root@pg66 tmp]# func.py -p show -c all
-bash: func.py: command not found
编辑:我有3个标志-p-c-t,不知道-h来自哪里-t可以为null,因此当我编写-p show-c时,它可以正常工作。您只需使用python文件所在位置的
chmod+*x
。这使得linux/unix
更容易运行,之后您可以通过/main.py
运行它,假设文件名为main.py
。您还可以删除.py
扩展名,然后通过chmod+*x
授予权限,然后通过/main
执行。另一种方法是简单地转到终端的执行脚本,然后通过键入别名添加一个别名直接运行脚本。第一种情况下,显然脚本需要一些参数&show all
无效。检查脚本以了解如何修复该问题。第二种情况是,可以在linux中安全地删除.py
,因为文件扩展名在linux中并不重要。要删除/
您需要将func
放在路径中的某个位置。这与将python
从命令中移除无关。您忘记了-p
和-c
。我从脚本的同一目录运行命令,如果不指定标志,就无法运行python脚本?这些参数不是位置参数,因此它们只需要标志。你能解释一下最后一句话吗?我确实希望只需键入脚本的名称而不键入任何./or.py即可运行脚本。请将脚本放在您的终端主页上。然后在终端的bash.bashrc
文件中,只需将此alias script='python main.py'
放在终端中的任何位置,就可以运行它了。关于标志,您只需在脚本
名称之后添加它们。例如:script-p
。试试看是否有效,尤其是旗帜。我从来没有写过带标志的脚本。但我认为它会起作用,因为概念是一样的