我想(从xonsh)测试一个命令是否可用。如果我从xonsh命令提示符尝试执行此操作:
which bash然后它就能工作了:
user@server ~ $ which bash
/usr/bin/bash但它不能在xonsh脚本中工作:
#!/usr/bin/env xonsh
$RAISE_SUBPROC_ERROR = True
try:
which bash
print("bash is available")
except:
print("bash is not available")因为它会导致以下错误:
NameError: name 'which' is not defined我知道which是一个内置的外壳。例如,它不是可执行文件。但它在xnosh命令提示符下可用。那么为什么它在xonsh脚本中不可用呢?最终的问题是:如何(从xonsh脚本)测试(子进程模式)命令是否可用?
发布于 2021-11-05 07:23:58
import shutil
print(shutil.which('bash'))https://stackoverflow.com/questions/66780522
复制相似问题