首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WSL,使用"wsl --exec <cmd>“或"wsl -- <cmd>”运行linux命令

WSL,使用"wsl --exec <cmd>“或"wsl -- <cmd>”运行linux命令
EN

Stack Overflow用户
提问于 2021-02-11 15:48:50
回答 1查看 428关注 0票数 2

wsl -h显示以下内容:

代码语言:javascript
运行
复制
    --exec, -e <CommandLine>   Execute the specified command without using the default Linux shell.
    --   Pass the remaining command line as is.

“不使用默认的Linux shell”是什么意思(即,如果不使用默认的shell,它还将使用什么?)。

此外,作为示例,我现在有三种可能的方法来从我的PowerShell提示符运行Linux ls (即,这将不是lsGet-ChildItem别名,而是通过WSL的Linux命令):

代码语言:javascript
运行
复制
PS C:\> wsl -e ls   # Alternatively,  wsl --exec ls
PS C:\> wsl -- ls
PS C:\> wsl ls

但是所有的输出似乎都是一样的。您如何解释这三种从PowerShell提示符运行WSL Linux命令的方式之间的区别?

EN

回答 1

Stack Overflow用户

发布于 2021-02-11 19:37:54

我认为这意味着wsl运行命令directly,而不是产生一个外壳进程来运行该命令。

例如,如果我运行:

代码语言:javascript
运行
复制
wsl -e sleep 10

在另一个终端上,我有:

代码语言:javascript
运行
复制
root      1482     1  0 11:32 tty3     00:00:00 /init
ubuntu    1483  1482  0 11:32 tty3     00:00:00 sleep 10

我们可以看到/initsleep 10的父类,中间没有外壳。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66150671

复制
相关文章

相似问题

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