我在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身份运行它,这不应该是必要的。那么我应该如何安装它以便像常规命令行工具一样使用它?
答案 0 :(得分:0)
命令行程序的正常约定是将它们放在默认路径上,也就是说在$PATH
环境变量表示的目录之一中。 There is also a default在各种系统上。
这样,当您输入命令时,shell将尝试在其中一个目录中查找匹配项,并且您可以省略调用的./
部分。
尝试命令echo $PATH
以查看特定系统上的路径目录。 /usr/local/bin
通常是自定义脚本的不错选择。
由于您使用的是Python,因此您还需要set it up as an executable script,这是非常常见的事情。
祝你好运!