Unix的env与cmdtools中scriptp的巧合

2012年7月12日

今天在网上看到/usr/bin/env命令的一个有趣的功能。在一个python程序中,可以以这样的一行开头:

#!/usr/bin/env python
# some other python contents

它会在系统的搜索路径,也就是PATH环境变量中查找python命令,然后让python再去运行这个脚本。

这个功能在我的cmdtools中也有对等的东西,就是scriptp命令。cmdtools是运行于Windows上的一套命令行工具。当初我写scriptp命令时,并不知道Unix有env这样一个命令。所以,非常有趣的就是,这是一个巧合。

我的cmdtools中还有一些有趣的命令与Unix中的命令功能类似:tbone.py类似于head或tail命令,用于显示长文本中指定的多个行。morecmd.py类似于xargs命令(个人认为比xargs更好用些),用于把标准输入表示的文件路径一次或多次发送给一个目标命令,让它处理这些文件。copymul.py类似于cp命令,它们都可以把目标放在左边参数,源放在右边参数。这样可以用morecmd.py把多个源复制到一个目标(在Unix上则是用xargs)。pr命令类似于tee命令,能把标准输入的内容显示在标准输出,同时把内容记入一个文本文件。

我的cmdtools工具集就在http://sourceforge.net/projects/winrosh能找到下载。请注意,如果你对稳定性比较在意,请不要下载文件名带beta或dev字样的版本。

“Unix的env与cmdtools中scriptp的巧合” 只有一条评论

  1. 高博

    可见天下程序员皆是一心,或曰解决的问题是一致的,所以工具自然也会趋同。

留下您的评论