/etc/bash_completion.d 中有一个“chsh”文件。当我在目录 /etc/bash_completion.d 中输入“./chsh”时,什么也没发生。为什么?
如果 Cygwin 中禁用了“chsh”实用程序,有什么方法可以将其打开?如果禁用了它,是否意味着 Cygwin 中 /etc/bash_completion.d 中的所有实用程序都已禁用?
更新:似乎“chsh”实用程序不在任何 Cygwin 包中。对吗?
答案1
中的文件/etc/bash_completion.d
是命令行完成函数库。它不是命令chsh
。
答案2
回答得很好 http://cygwin.com/ml/cygwin-xfree/2010-02/msg00057.html
您需要编辑 /etc/passwd(使用文本编辑器),将行中最后一个字段更改为您的用户 ID 为 /bin/tcsh
答案3
我怀疑 chsh 不可用的原因是 Cygwin 没有设置用户标识/etc/passwd
允许可执行文件以其所有者的权限运行的功能。当由受限用户运行时,需要此功能来允许 chsh 更改 shell 条目。管理员/etc/passwd
无论如何都可以直接编辑。