我将如何着手制作像 GIT 这样的控制台应用程序
How would I go about making a console app like GIT
我想构建一个可以从控制台 运行 的应用程序,我可以将它放在 windows 我的路径中并能够使用它。例如 git。我通常使用 C# 和 Ruby,但我想尝试让它在 Windows 和 Linux/Unix 环境中工作。我知道我可以用 C# 构建一个控制台应用程序,但我只用它完成了 dot net。
我希望能够随时随地在控制台中编写类似
的内容
假设我的应用程序名为 Bob
Bob (nameofmethod) (argument of method) (options, eg -i, -o, etc)
知道我将如何开始构建此应用程序吗?
控制台应用程序(如 git)只是您路径中接受命令行参数的可执行文件。当你这样做时
$ git pull origin master
您正在 运行使用三个参数 pull
、origin
、master
、
编译程序 git
在Ruby中,命令行参数存储在常量ARGV
数组中。您可以自己解析它们或使用 optparse stdlib 进行通用解析。
命令行 Ruby 应用程序通常有一个 shebang 行,因此您可以 运行 myscript
直接代替 ruby myscript
:
#!/path/to/ruby
另一个常见功能是检查脚本是否直接 运行(而不是由不同的脚本加载)。
if __FILE__ == [=12=]
# stuff to do when script is run directly
end
我想构建一个可以从控制台 运行 的应用程序,我可以将它放在 windows 我的路径中并能够使用它。例如 git。我通常使用 C# 和 Ruby,但我想尝试让它在 Windows 和 Linux/Unix 环境中工作。我知道我可以用 C# 构建一个控制台应用程序,但我只用它完成了 dot net。
我希望能够随时随地在控制台中编写类似
的内容假设我的应用程序名为 Bob
Bob (nameofmethod) (argument of method) (options, eg -i, -o, etc)
知道我将如何开始构建此应用程序吗?
控制台应用程序(如 git)只是您路径中接受命令行参数的可执行文件。当你这样做时
$ git pull origin master
您正在 运行使用三个参数 pull
、origin
、master
、
git
在Ruby中,命令行参数存储在常量ARGV
数组中。您可以自己解析它们或使用 optparse stdlib 进行通用解析。
命令行 Ruby 应用程序通常有一个 shebang 行,因此您可以 运行 myscript
直接代替 ruby myscript
:
#!/path/to/ruby
另一个常见功能是检查脚本是否直接 运行(而不是由不同的脚本加载)。
if __FILE__ == [=12=]
# stuff to do when script is run directly
end