将 UNIX 可执行文件复制并粘贴到 $PATH 不起作用?

将 UNIX 可执行文件复制并粘贴到 $PATH 不起作用?

为什么当我将 C 编译器工具从 Xcode 应用程序文件夹复制到 usr/bin(这是 Mac OS X 的 $PATH 之一)时,终端似乎无法看到它?在其上运行 find 命令没有结果:“./gcc:没有这样的文件或目录”。根据 Finder 执行我知道位于 usr/bin 中的命令会出现错误:“./gcc:没有这样的文件或目录”

答案1

您似乎正在运行./gcc。在 *nix 世界中,./表示“当前目录”。因此,当您运行时,./gcc您是在告诉操作系统查找位于gcc您所在目录中的名为 的可执行文件。除非您从 运行命令/usr/bin,否则将找不到这样的可执行文件,并且您将收到错误。

由于您已将其放置gcc在路径中的目录中,因此您无需提供完整路径即可访问它,只需提供名称即可。因此,无需./gcc运行gcc,它应该可以工作。

答案2

有几件事需要检查:

  1. 移动二进制文件后,您可能必须告诉终端重新扫描 PATH。运行命令“rehash”即可执行此操作。
  2. 您应该更新路径以指向工具,而不是移动工具以指向路径。通过执行以下操作来更新路径:

    导出 PATH="${PATH}:/path/to/tools/dir" ;重新哈希

答案3

如果你将可执行文件放在 /usr/bin 中,则可以通过 'gcc' 访问它,无需 './'。此外,新添加的命令的权限应为 755。

chmod 755 /usr/bin/command_name

相关内容