DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"
这是服务器版本。
当我进入它时,我遇到了以下问题:
问题1
标签完成表现得很奇怪,无法使用:
> cd ~/<press TAB>
-sh: <( compgen -d -- '/home/dmitriid/' ): No such file or directory
> vi ~/.<press TAB>
<( compgen -d -- '/home/dmitriid/.' ): No such file or directory
-sh: <( eval compgen -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|
JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' --
$(quote_readline $cur) ): No such file or directory
> nano ~/.<press TAB>
./ .bash_logout .mc/ .viminfo
../ .bashrc .mysql_history
.aptitude/ .erlang.cookie .profile
.bash_history .gitconfig .ssh/
有没有办法解决这个问题?
问题2
我使用mc很多。我经常使用Ctrl + O来隐藏面板并在shell中工作。就我而言:
有没有办法解决这个问题?
谢谢!
答案 0 :(得分:4)
确定。事实证明,解决方案是愚蠢而简单的。关键是 - mc中没有交互式shell。
答案就在于:http://www.ibiblio.org/mc/FAQ
6.6当我使用Ctrl-O时,我没有得到子shell。我该如何解决这个问题?
只有bash,tcsh和zsh可以用作子shell。使用其中之一 shell作为您的默认shell,它将在GNU中用作子shell 午夜指挥官。
所以我决定改变shell:
> which bash
/bin/bash
> sudo chsh -s /bin/bash my_user_name
> grep ^my_user_name /etc/password
my_user_name:x:1002:1002::/home/my_user_name:/bin/bash
注意/ bin / bash在passwd文件的末尾。这意味着shell现在已经改变了。
我退出后再登录 - 瞧,一切正常!
答案 1 :(得分:1)
我尝试重新安装所有bash包,尤其是bash-completion:apt-get install --reinstall bash-completion
,因为看起来bash的某些部分被搞砸了。顺便说一下,我想这应该去serverfault.com。
答案 2 :(得分:1)
当我输入以下内容切换到root时,似乎解决了权限问题。当我以普通用户身份登录时,看起来compgen无法读取所需的目录。
sudo su -
答案 3 :(得分:0)
“6.6当我使用Ctrl-O时,我没有得到子shell。我该如何解决这个问题?”
要使用Ctr + o你应该有SHELL = / bin / bash而不是SHELL = / bin / sh 添加到.bashrc导出SHELL = / bin / bash