tcsh
我正在尝试让 Cygwin (CYGWIN_NT-6.1 / 2.11.1(0.329/5/3))作为 Windows 7 上的默认 shell启动。我读到这个问题并在那里找到答案,但对薄荷方法有一些问题这个特别的答案:
如果你使用以下命令启动 Cygwin薄荷味,然后将 shell 作为参数添加。
mintty /usr/bin/zsh -
事情是这样的:
- 使用尾随破折号来调用交互式 shell(?),使窗口闪烁并再次消失(无论我是否使用
-l
) mintty /bin/tcsh
如果没有尾随破折号或-l
,则会打开 Cygwin shell 窗口,但许多内置命令会导致“致命错误 - 检测到 cygwin 基础不匹配...”。我cygwin1.dll
按照错误消息的指示搜索并找到了旧版本(在 ConEmu/wsl 中),重命名了它,但无济于事 - 我一直收到相同的错误mintty /bin/tcsh -l
给出了最佳结果,但以 Windows %USERPROFILE% 的主目录开始。这意味着它还会绕过我的.tcshrc
cygwin 主目录 (<CygwinDir>/home/<account>
),但奇怪的是,它会从那里进行处理.aliases
。同样奇怪的是,上面的点 (mintty
没有尾随破折号或-l
) 从正确的 cygwin 主目录中开始。- 我也尝试
/etc/nsswitch.conf
按照不同答案的建议进行编辑,但这并没有什么区别。 - 按照引用问题的另一个答案的建议,将 Windows SHELL 环境变量设置为
/usr/bin/tcsh
,在从桌面快捷方式启动时确实有效,但我不认为这是“正确”的做法。当我从 Windows 命令行运行 mintty 时,我收到一条失败消息"Failed to run '/usr/bin/tcsh': No such file or directory"
。
为什么这个所谓的好答案对我不起作用?有人能告诉我如何正确地做到这一点吗?此外,有人能解释尾随破折号、致命错误、nsswitch 或 SHELL var 的奥秘吗?
答案1
要从 mintty 启动 tc shell,命令是:
mintty /bin/tcsh -l
启动默认登录 shell,通常是 bash
mintty -
格式mintty /usr/bin/zsh -
错误