2013-03-07 37 views
5

我为自己写了一个非常简单的命令行工具。该设置包括:如何分发我的Python/shell脚本?

  1. 包含应用程序/源的单个.py文件。
  2. 运行python脚本的单个可执行文件(chmod + x)shell脚本。
  3. 在我的.bash_profile这样一行别名我的命令,像这样:alias cmd='. shellscript'(所以它运行在同一个终端上下文。)

所以有效,我可以键入cmd来运行它,一切都很正常。

我的问题是,我该如何分配给他人?显然,我可以用我的代码写出这些说明,并用它来完成,但是有更快的方法吗?我偶尔会看到那些粘贴到控制台的单行程序来安装某些东西。我会怎么做?我似乎记得他们涉及curl和管道到sh但我不记得了。

+2

为什么你需要的shell脚本? – wRAR 2013-03-07 23:02:45

+0

我的脚本cd到不同的目录,但调用'os.system('cd/my/path')'不起作用,因为这是一个子shell(从我的理解)。所以基本上,我的Python脚本将跳转路径写入临时文件,然后shell脚本读取它并进行更改。 – hamstu 2013-03-07 23:30:36

+1

@hamstu:'os.chdir()'会改变你正在运行的脚本的当前工作目录。 – Claudiu 2013-03-08 05:23:08

回答

3

将您的脚本上传到ideone之类的东西。然后告诉你的朋友把它变成python。示例脚本:

def print_message(): 
    print "This is my very special script!" 

if __name__ == "__main__": 
    print_message() 

行书的例子:

[email protected]:~$ curl http://ideone.com/plain/O2n3Pg 2>/dev/null | python 
This is my very special script! 
+0

谢谢!你的例子就是我所需要的。 – hamstu 2013-03-08 00:11:26

+2

没有probs!我应该在这里添加警告,除非您相信脚本,否则您绝不应该这样做,因为它可以轻松拥有您的机器,就像在Windows中随机运行'.exe'一样...... – Claudiu 2013-03-08 05:24:40

+0

'sudo curl ...':P – askewchan 2013-03-08 23:30:30

1

使用chmod + X cmd.py

那么他们可以键入./cmd.py

它们也可以用它的管道。

我想补充一点,unix用户可能已经知道如何创建一个文件可执行文件并运行它,所以您只需要使文件对他们可用即可。

确保他们知道他们需要运行脚本所需的python版本。