Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash/Linux:“;s";提示中忽略了字符_Linux_Bash_Centos7 - Fatal编程技术网

Bash/Linux:“;s";提示中忽略了字符

Bash/Linux:“;s";提示中忽略了字符,linux,bash,centos7,Linux,Bash,Centos7,OS:CentOS Linux 7.2.1511版(核心版) Bash版本:GNU Bash,版本4.2.46(1)-发布(x86_64-redhat-linux-GNU) 我遇到了一个非常奇怪的问题 在这个服务器上,我不能再使用我的“s”键了。键入“s”键只会在提示符上打印任何内容。但是,我看到服务器通过闪烁的“\u1”反应(不知道如何调用这个东西…)来获取输入 此外,我无法从其他显示器复制/粘贴“s”字符。例如,复制/粘贴字符串“sysconfig”将导致仅粘贴“yconfig” 我发现在提

OS:CentOS Linux 7.2.1511版(核心版)

Bash版本:GNU Bash,版本4.2.46(1)-发布(x86_64-redhat-linux-GNU)

我遇到了一个非常奇怪的问题

在这个服务器上,我不能再使用我的“s”键了。键入“s”键只会在提示符上打印任何内容。但是,我看到服务器通过闪烁的“\u1”反应(不知道如何调用这个东西…)来获取输入

此外,我无法从其他显示器复制/粘贴“s”字符。例如,复制/粘贴字符串“sysconfig”将导致仅粘贴“yconfig”

我发现在提示符上有“s”字符的唯一方法是通过自动补全。例如,通过点击“/etc/ba”+选项卡,将显示/etc/bashrc。然后我可以在其他命令中使用“s”字符。 我可以使用历史记录来使用这个字符(使用以前键入的命令的“s”)

在登录提示中,我可以使用“s”字符。 我还可以在文本编辑器中将这个字符用作vim

据我记忆所及,我最近没有对我的bash_配置文件进行任何更改(实际上,自从服务器安装以来,我根本没有进行任何更改),也没有对其他主要系统参数进行任何更改。唯一的问题可能是加载的键,因为我使用的是法语键(loadkeys-fr)

我尝试了以下方法:

  • 测试我的键盘:我可以在其他地方使用“s”字符
  • 重新启动服务器:同样的问题也会发生
  • 加载美国密钥:同样的问题也会发生
我必须说我对这个问题一无所知,所以我请求你的帮助

提前谢谢

M

顺便说一下,这是我在这个网站上的第一个问题。请告诉我,如果你认为我可以改进我的问题


编辑以下@chepner第一种解决方法(请参阅评论中的更多详细信息)

@chepner:
bind$'“\x73”:\x73elf in\x73ert'
找到了解决方法
,将
s
字符反弹到
s

但是,这在重新启动后不会持续。似乎有什么东西正在绑定
s
键以执行其他操作。为了进一步研究问题的根本原因,我在这里提供命令bash-x的输出:

[root@localhost ~]# echo $INPUTRC

[root@localhost ~]# bash -x
+ alias 'rm=rm -i'
+ alias 'cp=cp -i'
+ alias 'mv=mv -i'
+ '[' -f /etc/bashrc ']'
+ . /etc/bashrc
++ '[' '\s-\v\$ ' ']'
++ '[' -z '' ']'
++ case $TERM in
++ '[' -e /etc/sysconfig/bash-prompt-xterm ']'
++ '[' 0 -ge 3405 ']'
++ PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
++ shopt -s histappend
++ history -a
++ shopt -s checkwinsize
++ '[' '\s-\v\$ ' = '\s-\v\$ ' ']'
++ PS1='[\u@\h \W]\$ '
++ shopt -q login_shell
++ '[' 0 -gt 199 ']'
++ umask 022
++ SHELL=/bin/bash
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/256term.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/256term.sh
+++ local256=
+++ '[' -n '' ']'
+++ '[' -n '' ']'
+++ unset local256
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/colorgrep.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/colorgrep.sh
+++ /usr/libexec/grepconf.sh -c
+++ alias 'grep=grep --color=auto'
+++ alias 'egrep=egrep --color=auto'
+++ alias 'fgrep=fgrep --color=auto'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/colorls.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/colorls.sh
+++ '[' -z '[\u@\h \W]\$ ' ']'
+++ '[' -z '' ']'
+++ alias 'll=ls -l'
+++ alias 'l.=ls -d .*'
+++ INCLUDE=
+++ COLORS=
+++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"'
+++ '[' -e /root/.dir_colors.xterm ']'
+++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"'
+++ '[' -e /root/.dircolors.xterm ']'
+++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"'
+++ '[' -e /root/.dir_colors ']'
+++ for colors in '"$HOME/.dir_colors.$TERM"' '"$HOME/.dircolors.$TERM"' '"$HOME/.dir_colors"' '"$HOME/.dircolors"'
+++ '[' -e /root/.dircolors ']'
+++ '[' -z '' ']'
+++ '[' -e /etc/DIR_COLORS.xterm ']'
+++ '[' -z '' ']'
+++ '[' -e /etc/DIR_COLORS.256color ']'
++++ /usr/bin/tty -s
++++ /usr/bin/tput colors
+++ '[' x8 = x256 ']'
+++ '[' -z '' ']'
+++ '[' -e /etc/DIR_COLORS ']'
+++ COLORS=/etc/DIR_COLORS
+++ '[' -n /etc/DIR_COLORS ']'
+++ '[' -e '' ']'
++++ /usr/bin/dircolors --sh /etc/DIR_COLORS
+++ eval 'LS_COLORS='\''rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'\'';
export LS_COLORS'
++++ LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:'
++++ export LS_COLORS
+++ '[' -z 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:' ']'
+++ /usr/bin/grep -qi '^COLOR.*none' /etc/DIR_COLORS
+++ unset TMP COLORS INCLUDE
+++ alias 'll=ls -l --color=auto'
+++ alias 'l.=ls -d .* --color=auto'
+++ alias 'ls=ls --color=auto'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/lang.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/lang.sh
+++ sourced=0
+++ '[' -n en_US.UTF-8 ']'
+++ saved_lang=en_US.UTF-8
+++ '[' -f /root/.i18n ']'
+++ LANG=en_US.UTF-8
+++ unset saved_lang
+++ '[' 0 = 1 ']'
+++ unset sourced
+++ unset langfile
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/less.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/less.sh
+++ '[' -x /usr/bin/lesspipe.sh ']'
+++ export 'LESSOPEN=||/usr/bin/lesspipe.sh %s'
+++ LESSOPEN='||/usr/bin/lesspipe.sh %s'
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/vim.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/vim.sh
+++ '[' -n '4.2.46(1)-release' -o -n '' -o -n '' ']'
+++ '[' -x /usr/bin/id ']'
++++ /usr/bin/id -u
+++ ID=0
+++ '[' -n 0 -a 0 -le 200 ']'
+++ return
++ for i in '/etc/profile.d/*.sh'
++ '[' -r /etc/profile.d/which2.sh ']'
++ '[' '[\u@\h \W]\$ ' ']'
++ . /etc/profile.d/which2.sh
+++ alias 'which=alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
++ unset i
++ unset -f pathmunge
++ printf '\033]0;%s@%s:%s\007' root localhost '~'
[root@localhost ~]#
我无法理解这里发生的一切。我查看了一些被调用的文件,但没有发现任何相关内容。我可能会错过一些东西,因为我不习惯阅读这些输出,也不知道如何解释所有这些

您能告诉我您是否看到
s
键与
s
字符的绑定吗

谢谢


M.

我将发布一些一般信息作为回答,以供将来参考

如果遇到同样的问题并需要重新绑定密钥,您可能想知道需要使用哪种十六进制代码(
\x73
对于
s
密钥,在我的情况下)。看一看这张照片。不要忘记,您需要选择十六进制列

或者,您可以运行以下命令来获取十六进制代码与字符的关联:

for i in `seq 33 126`; do printf '\\x%x => ' $i; echo -e "$(printf '\\x%x ' $i)"; done
其他参考资料:

希望有帮助


M.

检查
bind-p | grep$“\x73”的输出:“
;输出应为
“s”:自插入
。如果不是,则可以使用
s
键执行其他操作。请注意,这与您观察到的情况一致,即只有使用Readline库的程序才会受到影响。»闪烁的“”«称为游标:D非常有趣的问题。顺便说一句,@chepner:bind-p | grep$”\x73:“的输出为空。谢谢你的评论。你知道怎么把它绑回去吗@Socowi:是的,光标,右:DOK,至少作为一个快速修复,您应该能够根据需要在\x73ert'中运行
bind$“\x73”:\x73elf来恢复
s
键的功能。为了获得更长期的修复,您必须首先找出是什么删除了
s
的绑定。查看您使用的
~/.inputrc
或任何
bash
配置文件。谢谢@chepner,这就成功了。我可以再次使用
s
键。这不是持久性问题,重新启动后问题会再次出现。看看我的巴赫配置文件,我看到我在四月份编辑了
~/.inputrc
,添加了
设置钟形无
,而该文件中没有其他内容。我的homdir中的其他文件有:
.bash_history
.bash_logout
.bash_profile
.bashrc
cshrc
tcshrc
viminfo
。我从没碰过那些文件。如果你有主意。。谢谢你迄今为止的帮助,非常有用