来自here

What I tried (followed advice from link above)

Command 1:

which -a python*

Output 1:

/opt/homebrew/bin/python3
/usr/local/bin/python3
/usr/bin/python3

Command 2:

which -a python3.9

Output 2:

/usr/local/bin/python3.9

Conclusion

  • "输出%2"未包含在"输出%1"中
  • 因此,"指挥部1"没有完全实现其目标.

Help needed

  • 我想出了如何将所有4个Python安装与regexhere相匹配
  • 如何在which -a <insert RegEx here>命令中使用此命令?

推荐答案

在所有路径目录中查找可执行文件

for p in $(echo $PATH | tr ':' '\n'); do
    find "$p" -type f -executable -name 'python*'
done

结果

/usr/bin/python2.7
/usr/bin/python-argcomplete-check-easy-install-script-3.6
/usr/bin/python3.6m
/usr/bin/python3.11
/usr/bin/python3.6m-config
/usr/bin/python3.9
/usr/bin/python3.6

如果需要正则表达式

find "$p" -type f -executable -regex '.*python.*'

也能找到象征性的联系

find "$p" -executable -regex '.*python.*' \( -type f -or -type l \)

显示二进制文件和符号链接

for p in $(echo $PATH | tr ':' '\n'); do find "$p" -executable -regex '.*python[2-3][.0-9]*' \( -type f -or -type l \);done | xargs file -e elf | sort -t ':' -k 2

结果

/usr/bin/python2.7:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.6:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.9:  ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python3.11: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV)
/usr/bin/python2:    symbolic link to python2.7
/usr/bin/python3:    symbolic link to python3.6

Python相关问答推荐

2维数组9x9,不使用numpy.数组(MutableSequence的子类)

如何检测背景有噪的图像中的正方形

根据另一列中的nan重置值后重新加权Pandas列

优化pytorch函数以消除for循环

如何让程序打印新段落上的每一行?

OR—Tools CP SAT条件约束

如何从pandas的rame类继承并使用filepath实例化

Pandas—在数据透视表中占总数的百分比

当点击tkinter菜单而不是菜单选项时,如何执行命令?

mypy无法推断类型参数.List和Iterable的区别

如何在Python中使用Iscolc迭代器实现观察者模式?

什么是一种快速而优雅的方式来转换一个包含一串重复的列,而不对同一个值多次运行转换,

如何训练每一个pandaprame行的线性回归并生成斜率

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

Django.core.exceptions.SynchronousOnlyOperation您不能从异步上下文中调用它-请使用线程或SYNC_TO_ASYNC

为什么Visual Studio Code说我的代码在使用Pandas concat函数后无法访问?

替换包含Python DataFrame中的值的<;

.awk文件可以使用子进程执行吗?

按列表分组到新列中

pyspark where子句可以在不存在的列上工作