【问题标题】:Creating a terminal command in Minix在 Minix 中创建终端命令
【发布时间】:2016-04-05 00:03:28
【问题描述】:

我想创建一个命令来运行通过编译 c 程序创建的可执行文件。我找不到合适的解决方案。假设我有一个名为 myprogram.c 的文件并对其进行编译并将 myprogram 作为 .我想在我系统的任何文件夹中输入myprogram 并运行它。我怎样才能做到这一点?

【问题讨论】:

  • 在命令行中输入./myprogram是否有效?
  • 是的,但我不想输入./。我希望能够从任何文件夹运行它,就像 lspwd
  • 将目录. 添加到PATH 环境变量的末尾,使其看起来像<WHATEVER OUTPUT OF echo $PATH WAS>:.
  • @DylanKirkby - 或者,也许,不要这样做,这样可以避免混乱和风险。有时最好的答案是“那是一个非常糟糕的主意,不要那样做,另寻出路。”如果您可以建议其他方式,也许您会获得支持。 :)

标签: unix command-line terminal minix


【解决方案1】:

首先找出你的 PATH 是什么

echo $PATH

为你输出

/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin/usr/X11R7/bin:usr/X11R‌​‌​6/bin:/usr/local/sbin:/usr/local/bin

然后假设您的程序在/usr/myprog 目录中,将/usr/myprog 附加到您的PATH (不要忘记用冒号分隔目录:

export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin/usr/X11R7/bin:usr/X11R‌​‌​6/bin:/usr/local/sbin:/usr/local/bin:/usr/myprog

这样做会告诉系统何时您没有指定绝对路径(如 ./myprogram)来查看 PATH 中的所有目录。最好将可执行文件的绝对路径添加到 PATH,因为某些人不赞成将 . 添加到您的 PATH(请参阅 this question)。

【讨论】:

  • Minix 有点奇怪。我的路径是/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin/usr/X11R7/bin:usr/X11R6/bin:/usr/local/sbin:/usr/local/bin,这很难理解。我还假设在 Minix 中 .bashrc 文件是 .shrc 但我不太确定。顺便说一句,我的程序在/usr/myprog 文件夹下。
  • 所以改成/sbin:/usr/sbin:/bin:/usr/bin:/usr/pkg/sbin:/usr/pkg/bin/usr/X11R7/bin:usr/X11R‌​6/bin:/usr/local/sbin:/usr/local/bin:/usr/myprog
  • PATH 很容易理解,它只是一组用冒号分隔的unix目录。你的包括/sbin/usr/local/bin 和其他一些。
  • 嗯,我想这很简单。现在工作。此外,与 Minix 等效的 .bashrc 位于名为 .shrc 的 /root 文件夹下,以防将来有人需要它。谢谢。
【解决方案2】:

你必须从你的 shell rc 文件中将它添加到你的 PATH 中

【讨论】:

    【解决方案3】:

    您将可执行文件放入您的 shell 已经搜索程序的目录中,或者您将程序的位置添加到该列表中。

    $PATH 环境变量包含此信息。您可以将myProgram 的位置添加到其中,即export PATH=$PATH:/new/dir,或者只需打印出$PATH 并将myProgram 复制到已经列出的路径之一中。

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 2012-12-11
      • 1970-01-01
      • 2020-06-22
      • 2015-10-01
      • 2017-02-13
      • 2021-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多