Bash别名为Python脚本 - 是否可能?

时间:2010-02-17 10:11:47

标签: python bash curl scripting multiplatform

我希望“归类”成Python脚本的特定别名恰好是使用cUrl -o(输出到文件)选项的别名。我想我可以很容易地把它变成BASH函数,但是有人告诉我,我可以通过采用我的想法并使它们成为Python脚本来避免BASH的不同版本和“风味”的怪癖和陷阱。

与此想法相吻合的另一个概念是我必须制作与下载平台无关的传统Mac OS(官方称为“OS 9”或“Classic”)的功能:将URL写入文件的某些部分可见来自一个文件导航器{Konqueror,Dolphin,Nautilus,Finder或Explorer}。我知道只有少数文件类型使用其他一些命令行工具(exiv2,wrjpgcom等)支持这种事情。这对我来说非常好,因为我只使用这个别名来下载单页图像文件,例如JPEG。

我认为我可以通过让脚本传递字符串传递字符串来充分利用Python的强大功能,该字符串是下载的源URL(由用户输入并首先由cUrl使用)到exiv2这样可写的东西它是注释块,EXIF用户注释块,以及(作为第一个也是最糟糕的例子)Windows XP的文件描述字段。从小做起有时是一个很好的开始。

希望有人有意见或建议。

BZT

2 个答案:

答案 0 :(得分:10)

Bash手册中的relevant section说明:

  

别名允许字符串   在使用时替换一个单词   作为简单命令的第一个词。

所以,没有什么可以阻止你这样做。

$ alias geturl="python /some/cool/script.py"

然后你可以像使用任何其他shell命令一样使用它:

$ geturl http://example.com/excitingstuff.jpg

这只会调用你的Python程序。

答案 1 :(得分:0)

我认为Pycurl可能就是答案。啊丹尼尔斯特恩伯格和他无辜的假设,每个人都知道他做了什么。我在列表中询问pycurl是否有一个“curl -o”类似物,然后询问'如果是这样:如何在Python脚本中编写它/它们?'他的答复如下:

“curl.setopt(pycurl.WRITEDATA,fp)

可能结合:

curl.setopt(pycurl.WRITEFUNCITON,callback)“

...以及Sourceforge链接到两个版本的retrieve.py。我几乎无法回想起easy_install把我得到的那个放在哪里;我该怎么比较呢?

很明显,这位绅士从未在西半球有过帮助台或电话技术支持工作,你必须假设“顾客”刚刚学会了如何使用他们的梳子,并准备好让他们完成所有事情。单线(或三线作为追逐者的深奥链接)不适合我。

BZT