實現Linux與Windows下一致的命令行

這實際上是個很是簡單的東西。python

咱們會寫一些命令行的工具,通常跨平臺的話,會用python或者perl寫,好比叫foo.py,而後在Windows和Linux下調用這個腳本:shell

  • Linux: foo.py - 只要在第一行加上:#!/usr/bin/python
  • Windows: python foo.py
    • 直接foo.py是不必定能工做的,除非你在你的系統中設置了<後綴名-程序>的映射,但這個就有問題了,首先,這對本機有依賴關係了;其次,你到底用哪一個版本的python?每一個系統設置可能不同 - 做爲這個工具的做者確定但願咱們來控制這些因素。

因而,Windows與Linux的命令行就不一致了。。。windows

解決方案是爲windows建立一個同名的batch文件,轉調那個python文件:bash

foo.cmd:工具

/network/path/python/2.7.3/bin/python foo

同時,正如你看到的,把原來的python文件重命名爲foo - 去掉後綴名,因而,如今你有:spa

  • Windows: foo.cmd
  • Linux: foo (with #!/usr/bin/python)

當你在命令行敲入foo的時候,操做系統會自動幫你選擇正確的文件並正確的運行。操作系統

固然,若是你不是寫python或者perl文件,而直接是shell或者batch腳本,你應該知道怎麼命名你的腳本了:命令行

  • Windows: bar.cmd
  • Linux: bar (with #!/usr/bin/bash)
相關文章
相關標籤/搜索