首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xonsh“哪个”等价物-如何测试(子进程模式)命令是否可用?

xonsh“哪个”等价物-如何测试(子进程模式)命令是否可用?
EN

Stack Overflow用户
提问于 2021-03-24 19:56:04
回答 1查看 45关注 0票数 0

我想(从xonsh)测试一个命令是否可用。如果我从xonsh命令提示符尝试执行此操作:

代码语言:javascript
复制
which bash

然后它就能工作了:

代码语言:javascript
复制
user@server ~ $ which bash                                                                                                           
/usr/bin/bash

但它不能在xonsh脚本中工作:

代码语言:javascript
复制
#!/usr/bin/env xonsh
$RAISE_SUBPROC_ERROR = True
try:
    which bash
    print("bash is available")
except:
    print("bash is not available")

因为它会导致以下错误:

代码语言:javascript
复制
NameError: name 'which' is not defined

我知道which是一个内置的外壳。例如,它不是可执行文件。但它在xnosh命令提示符下可用。那么为什么它在xonsh脚本中不可用呢?最终的问题是:如何(从xonsh脚本)测试(子进程模式)命令是否可用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-05 07:23:58

代码语言:javascript
复制
import shutil
print(shutil.which('bash'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66780522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档