DISTRIB_ID=Ubuntu DISTRIB_RELEASE=8.10 DISTRIB_CODENAME=intrepid DISTRIB_DESCRIPTION="Ubuntu 8.10"
这是服务器版本。
当我进入它时,我遇到以下问题:
问题1
选项卡完成performance奇怪到无法使用的地步:
> 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中工作。 在我的情况下:
有没有办法解决这个问题?
谢谢!
好。 事实certificate,解决scheme是愚蠢和简单的。 关键是 – 在mc中没有交互式shell。
答案在这里: http : //www.ibiblio.org/mc/FAQ
6.6当我使用Ctrl-O时,我没有得到一个子shell。 我该如何解决?
只有bash,tcsh和zsh可以用作子shell。 使用这些shell之一作为你的默认shell,它将被用作GNU Midnight Commander的子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
注意passwd文件末尾的/ bin / bash。 这意味着现在shell已经改变了。
我注销后,然后重新login – 瞧,一切正常!
看起来你的主目录有问题。 你可以做一个ls ~告诉我们什么事?
你.bashrc正在采购/etc/bash_completion谁使用compgen去生成几个已知的命令(如cd和vi )完成,但不是nano 。
出于某种原因, compgen在完成主文件夹中的文件和目录时出现问题。 解决这个问题的一个快速选项是在.bashrc注释掉以下几行。
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
你的第一个问题的原因是你使用/ bin / sh作为shell。 即使这是与bash链接,完成不起作用。
把shell改成bash:chsh -s / bin / bash并重新login。