tab-completion - 奇点 bash shell 内的制表符补全
问题描述
我正在使用从 docker ubuntu:xenial 基础映像创建的奇异容器。当我使用此命令进入外壳时 -
singularity shell --bind /path/to/inputs:/mnt3,/path/to/outputs:/mnt2 /singularity_docker_xenial_image.img
1)制表符补全不起作用 2)箭头键产生奇怪的字符
例如输入ls[tab][up][down][left][right]会产生这个 -
singularity_docker_xenial_image.img> $ ls ^[[A^[[B^[[D^[[C
有谁知道1)为什么制表符完成不起作用和2)为什么会产生奇怪的字符?
谢谢
解决方案
您必须使用以下命令安装奇异性:
git clone https://github.com/singularityware/singularity.git
cd singularity
git fetch --all
git checkout 2.6.0
./autogen.sh
./configure --prefix=/usr/local --sysconfdir=/etc
make
sudo make install
点击比赛
如果你在没有--sysconfdir参数的情况下安装singularity,则无法为所有用户安装完成脚本。 如果省略 --sysconfdir 选项,配置文件将安装在 /usr/local/etc
奇怪的字符
检查默认外壳是否工作正常
回声 $SHELL
这些值可以是/bin/bash或/bin/sh,或者至少它们是最常见的。
检查用户的shell,在容器外,因为这些值是在显示容器时传递的。
现在,终端表示键盘发送给它的键的原始键码,shell 通常会拦截按键;但由于某种原因,他们直接打印修饰键的值。
从特殊字符的bash手册中, ^[[A 是什么意思?
\[ 开始一系列非打印字符,可用于将终端控制序列嵌入到提示中
终端控制序列引用特殊键(Ctrl、Alt、Win、...)修饰符。换句话说,ANSI 转义码。然后^[[A^[[B^[[D^[[C是向下光标、向上光标、向左光标、向右光标 ,这些显示是因为您将光标键与修饰键组合在一起。
在这一点上,由于您提供的信息缺乏细节,我无法为您提供明确的解决方案。
推荐阅读
- c# - 如何在控制器中使用 IdentityServer4 获取 ASP.NET 核心中的当前用户?
- r - 在 R 中使用 plot_grid 和 get_legend 的困难
- terminal - 如何更改路径?
- python - Python 3 zipfile adding files to encrypted zip
- sql - 创建一个触发器,将角色授予每个新创建的用户
- c# - xUnit、SpecFlow Selenium 和 ITestOutputHelper 问题
- r - 如何对具有相同 ID 的所有观察结果进行变异?
- ansible - 从角色复制整个文件夹结构与现有文件合并/覆盖
- python - 当函数调用很长时,VS Code for Python 进入新行
- python - 在 stepik 上上传时超过 python 的时间限制