如何分发我的Python/shell脚本?
我为自己编写了一个非常简单的命令行实用程序。设置包括:如何分发我的Python/shell脚本?,python,bash,shell,Python,Bash,Shell,我为自己编写了一个非常简单的命令行实用程序。设置包括: 包含应用程序/源的单个.py文件 运行python脚本的单个可执行(chmod+x)shell脚本 my.bash_概要文件中的一行,将我的命令别名如下:alias cmd='。shellscript'(因此它在相同的终端上下文中运行。) 因此,我可以有效地键入cmd来运行它,而且一切都很好 我的问题是,我如何才能将此分发给其他人?显然,我可以用我的代码写出这些指令,然后用它来完成,但是有没有更快的方法呢?我偶尔会看到那些你粘贴到控制台上安
alias cmd='。shellscript'
(因此它在相同的终端上下文中运行。)cmd
来运行它,而且一切都很好
我的问题是,我如何才能将此分发给其他人?显然,我可以用我的代码写出这些指令,然后用它来完成,但是有没有更快的方法呢?我偶尔会看到那些你粘贴到控制台上安装东西的单行程序。我该怎么做?我似乎记得它们涉及到curl
和管道到sh
,但我不记得了。chmod+x cmd.py
然后他们可以键入。/cmd.py
他们也可以使用管道
我想补充一点,unix用户可能已经知道如何使文件可执行并运行它,所以您所要做的就是使文件对他们可用
一定要确保他们知道运行脚本所需的python版本。将脚本上传到类似的位置。然后告诉您的朋友将其导入
python
。示例脚本:
def print_message():
print "This is my very special script!"
if __name__ == "__main__":
print_message()
运行脚本的示例:
username@server:~$ curl http://ideone.com/plain/O2n3Pg 2>/dev/null | python
This is my very special script!
为什么需要shell脚本?我的脚本
cd
s指向不同的目录,但是调用os.system('cd/My/path')
不起作用,因为那是一个子shell(据我所知)。因此,基本上我的Python脚本将跳转路径写入临时文件,shell脚本读取跳转路径并进行更改。@hamtu:os.chdir()
将更改正在运行的脚本的当前工作目录。os.chdir()
不会完全完成任务,因为它将更改运行python脚本的子shell中的目录,而不是用户使用的shell中的目录。这就是为什么需要寻找shell脚本的原因。谢谢!你的例子正是我需要的。没问题!我应该在此添加一个警告,除非您信任该脚本,否则您永远不应该这样做,因为它可以轻松拥有您的计算机,就像在Windows中运行随机.exe
。。。