which

为什么“which”和直接访问可执行文件会出现版本结果不一致的情况?
which

为什么“which”和直接访问可执行文件会出现版本结果不一致的情况?

我正在使用 MacOS High Sierra,并且尝试查找 PHP 的版本问题。我遇到了一个非常奇怪的情况。如果我php --version,它会报告 7.4.2。然后我通过 验证 php 被调用的位置which php,然后php --version直接调用,它会报告 7.1.33。这些报告的版本不同吗?发生了什么? php --version PHP 7.4.2 (cli) (built: Feb 17 2020 12:56:02) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Co...

Admin

Linux 命令“which”无法在 Ubuntu 下的 NFS 路径上找到可执行文件
which

Linux 命令“which”无法在 Ubuntu 下的 NFS 路径上找到可执行文件

我注意到 Linux shell 命令“which”没有显示可执行文件,尽管它已经在搜索路径上。 更具体地说,我的 $PATH 包括 '~/.local/bin';可执行文件是 ~/.local/bin/charm。'which charm' 不返回任何内容,尽管我可以毫无问题地运行 'charm'。我正在使用 Ubuntu 16.04 和 bash 该问题取决于 Linux 发行版。如果我登录到另一台 RHEL 6.10 机器,则命令“which charm”对同一可执行文件有效。 该问题也可能与 nfs 挂载有关。在 Ubuntu 16.04 上,...

Admin

PATH 搜索是否包含符号链接?
which

PATH 搜索是否包含符号链接?

POSIX shell 标准在此网站上说明 http://pubs.opengroup.org/onlinepubs/9699919799/ 关于 shell 如何PATH查找可执行文件: “应从头到尾搜索列表,将文件名应用于每个前缀,直到找到具有指定名称和适当执行权限的可执行文件。” 嗯,这在真正的 POSIX 实现中并不是这样工作的: man which说: “如果其参数是作为严格符合 POSIX 标准的 shell 中的命令给出的,则返回将在当前环境中执行的文件(或链接)的路径名。它通过在 PATH 中搜索与参数名称匹配的可执行文件来实现此...

Admin

在 Ubuntu 上使用完整路径和名称时会调用不同的程序
which

在 Ubuntu 上使用完整路径和名称时会调用不同的程序

我在 Ubuntu 14.04 上遇到了一个奇怪的问题。 xxxxxxxxxxxxxx:~/Dev/tbb2017_20170226oss$ gcc -dumpversion 5.4.1 xxxxxxxxxxxxxx:~/Dev/tbb2017_20170226oss$ which gcc /usr/bin/gcc xxxxxxxxxxxxxx:~/Dev/tbb2017_20170226oss$ /usr/bin/gcc -dumpversion 4.8 xxxxxxxxxxxxxx:~/Dev/tbb2017_20170226oss$ ll /usr/...

Admin

将 %PATH% 变量中的程序的相对路径更改为绝对路径
which

将 %PATH% 变量中的程序的相对路径更改为绝对路径

cmd.exe当我调用时,我which java得到这个输出: /c/ProgramData/Oracle/Java/javapath/java 当我打电话时which vagrant我得到: /c/ProgramData/Oracle/Java/javapath/java 但是当我打电话时which ssh我得到: 在 /usr/bin/ssh 中 我担心这个相对路径会在其他地方引发问题。 为什么要ssh返回相对路径?如何引用ssh绝对路径? ...

Admin

Unix 在 PATH 之前搜索已声明的函数
which

Unix 在 PATH 之前搜索已声明的函数

Unix首先在之前声明的函数中进行搜索PATH: $ order() { echo "hello from function"; } $ order hello from function $ which order /usr/bin/which: no order in (all:the:paths) $ vim order #!/bin/bash echo "hello from somewhere" :wq $ chmod +x order $ export PATH=~/:$PATH $ hash -r $ which order ~/o...

Admin

Linux中locate和which的区别
which

Linux中locate和which的区别

Linux 中locate和有什么区别?which 为什么当我使用时locate mentor它会列出所有的导师但是当我使用时which mentor它说“没有导师......” - 这是什么意思? ...

Admin

如何打印 OSX 应用程序的完整路径
which

如何打印 OSX 应用程序的完整路径

我想要获取 Safari、Chrome、iTerm 等 OSX 应用程序的完整路径... 据我所知,OSX 软件包具有特定的文件夹结构,因此主二进制文件最终将位于/Applications/*AppName*.app/Contents/MacOS/ 例如:iTerm 完整路径为:/Applications/iTerm.app/Contents/MacOS/iTerm 这是否保证所有应用程序都能做到这一点,或者是否存在像“哪个”这样的工具可以打印特定路径? ...

Admin

从 shell 中查找 shell 脚本(或符号链接)的位置
which

从 shell 中查找 shell 脚本(或符号链接)的位置

我在 Ubuntu 14.04 上,我有一个 shell 脚本或符号链接(我不记得是哪一个了 - 而且我也不确定如何分辨它是什么),pbar它运行 pianobar。所以,明确地说,从 shell 中,我可以输入pbar,然后 pianobar(程序)就会启动。我正在尝试找到这个文件的位置。我尝试过以下操作, which pbar ls /usr/bin | grep ^pb ls /usr/local/bin | grep ^pb 并检查了我存储 shell 脚本的目录,我认为我的所有其他位置也是如此$PATH。我仍然无法找到此文件或链接 - 我应该...

Admin

与命令不一致
which

与命令不一致

我正在使用n工具来更新我当前版本的节点,但发生了一些奇怪的事情。 我运行了sudo n latest该程序,理论上会获取最新版本的 Node(v0.12.0并将其安装在我的某个地方)$PATH。 但是,运行node -v显示v0.10.25。我认为在我的路径上的其他地方还有另一个版本的 node exe。 which node显示/usr/local/bin/node。 $ cd /usr/local/bin/node $ node -v v0.10.25 $ ./node -v v0.12.0 它就在那里,安装好了,/usr/local/bin...

Admin

如何在 Mac 上安装“which”命令
which

如何在 Mac 上安装“which”命令

我已从 /bin 目录中删除了“which”命令。 当我尝试通过 Homebrew 包管理器安装它时,我得到了 错误:没有可用的公式 ...

Admin

如何在 zsh 中绕过‘which’的‘noglob’?
which

如何在 zsh 中绕过‘which’的‘noglob’?

我想使用which命令来查看实际调用了哪个可执行文件,但是防御noglob性别名一直阻碍着我。 是否有一个快捷方式可以用来查找命令别名时调用哪个可执行文件? 我正在使用zshshell。 ...

Admin

我可以使用“which”命令进行部分匹配吗?
which

我可以使用“which”命令进行部分匹配吗?

我想查找所有名称为“gcc”、“gcc-4.2”、“gcc-4.9”等的程序。 为了查找我尝试过的所有二进制文件which -a gcc*。 但是“*”在命令中不被识别为‘任何’ which。 有没有办法通过模式匹配来找到 PATH 环境变量中的所有程序? ...

Admin

如何更改哪个命令输出附带的路径?
which

如何更改哪个命令输出附带的路径?

当我which mex在 Linux 系统上时,它给出了一个路径,但我想将此路径更改为另一个路径。我如何将此默认路径设置为另一个位置? ...

Admin