zoukankan      html  css  js  c++  java
  • 实现Linux与Windows下一致的命令行

    这其实是个非常简单的东西。

    我们会写一些命令行的工具,一般跨平台的话,会用python或者perl写,比如叫foo.py,然后在Windows和Linux下调用这个脚本:

    • Linux: foo.py - 只要在第一行加上:#!/usr/bin/python
    • Windows: python foo.py
      • 直接foo.py是不一定能工作的,除非你在你的系统中设置了<后缀名-程序>的映射,但这个就有问题了,首先,这对本机有依赖关系了;其次,你到底用哪个版本的python?每个系统设置可能不一样 - 作为这个工具的作者肯定希望我们来控制这些因素。

    于是,Windows与Linux的命令行就不一致了。。。

    解决方案是为windows创建一个同名的batch文件,转调那个python文件:

    foo.cmd:

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

    同时,正如你看到的,把原来的python文件重命名为foo - 去掉后缀名,于是,现在你有:

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

    当你在命令行敲入foo的时候,操作系统会自动帮你选择正确的文件并正确的运行。

    当然,如果你不是写python或者perl文件,而直接是shell或者batch脚本,你应该知道怎么命名你的脚本了:

    • Windows: bar.cmd
    • Linux: bar (with #!/usr/bin/bash)
  • 相关阅读:
    变量声明和定义的关系
    STL之Vector
    STL之顺序容器
    类成员函数可以为回调函数吗
    排序
    名字查找
    Java 写 Log
    Spring 框架中注释驱动的事件监听器详解
    Centos7 安装gitLab
    世界经济史是一部基于假象和谎言的连续剧
  • 原文地址:https://www.cnblogs.com/baiyanhuang/p/3155576.html
Copyright © 2011-2022 走看看