编写命令行应用程序

时间:2017-05-19 22:19:38

标签: python ubuntu-16.04

我在Ubuntu 16.4。我刚刚编写了一个可以使用命令执行的程序(假设我在正确的目录中)>>> np.isclose(-10.51, -10, err_rel, err_abs) # -10.51 is smaller than -10! False >>> np.isclose(-10, -10.51, err_rel, err_abs) True
但是我希望这是可分发的,以便您可以从命令行使用它,如nmap或youtube-dl。我的想法是将别名设为.bashrc。这有两个问题。一个是如果命令之后有命令我在命令中没有选项(-h),所以它改变了你的目录。其次,我不知道用户将安装它的目录。所以,即使我将别名附加到.bashrc,我也不知道它安装在哪个目录中。我试图通过将文件复制到他们的家来解决这个问题目录,但这给了我一个错误,说错误权限(运行程序时),因为它需要能够写入文件。我尝试了一段时间来解决这个问题,但最后他们需要以root身份运行它,这不应该是必要的。那么我应该如何安装它以便像常规命令行工具一样使用它?

1 个答案:

答案 0 :(得分:0)

命令行程序的正常约定是将它们放在默认路径上,也就是说在$PATH环境变量表示的目录之一中。 There is also a default在各种系统上。

这样,当您输入命令时,shell将尝试在其中一个目录中查找匹配项,并且您可以省略调用的./部分。

尝试命令echo $PATH以查看特定系统上的路径目录。 /usr/local/bin通常是自定义脚本的不错选择。

由于您使用的是Python,因此您还需要set it up as an executable script,这是非常常见的事情。

祝你好运!