假设我(或任何正在运行的进程)想在 Windows (7) 中启动一个 shell 并发出一个命令,有许多选项可用。例如,一个人可以:
cmd,然后点击Enter;上述所有方法都将(默认)启动cmd.exe(通常位于Windows\System32目录中)。
最近我开始喜欢替代命令行 shell,例如 Microsoft 自己的 PowerShell。然而,使用这些工具最让我沮丧的是,我似乎不得不在默认情况下通过它们来启动命令。
有什么方法可以用另一个 shell替换运行的默认行为cmd.exe,例如 PowerShell 或 Cygwin?不仅我可能从开始菜单或启动器发出的命令将在该外壳中运行,而且如果其他应用程序想要打开外壳,它将在所述默认外壳中打开。
需要明确的是,如果有一些干净的方法可以解决这个问题(即某个地方的注册表设置或配置选项,而不是简单地替换可执行文件),那就太好了。
如果我ifconfig在 Linux (Ubuntu) 服务器上运行,则会得到以下输出:
eth0 Link encap:Ethernet HWaddr d0:27:88:0f:80:74
inet addr:10.1.0.11 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: 2002:5eaa:df8d:0:fcb8:c688:1a5b:f9a0/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:f548:80e4:7e2d:d4b9/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:302c:7527:3157:172a/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:885a:ccef:87bd:4d8d/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:b9cd:1097:d233:71b7/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:c29:cfd9:9913:ea39/64 Scope:Global
inet6 addr: 2002:5eaa:df8d:0:d227:88ff:fe0f:8074/64 Scope:Global
inet6 addr: fe80::d227:88ff:fe0f:8074/64 Scope:Link
inet6 addr: 2002:5eaa:df8d:0:183b:3403:3ba0:3431/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:74163188 errors:0 dropped:0 overruns:0 frame:0
TX packets:87047108 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3705441868 (3.7 GB) TX bytes:2209135524 (2.2 GB)
Interrupt:43 …Run Code Online (Sandbox Code Playgroud)