首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在bash中以行尾/中间自动完成

在 Bash 中,可以使用命令行自动完成功能来帮助用户更快地输入命令和参数。默认情况下,Bash 中的自动完成功能是禁用的,但可以通过编辑 Bash 配置文件来启用和配置。

要启用 Bash 中的自动完成功能,请在 Bash 配置文件中添加以下代码:

代码语言:txt
复制
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

这将从系统的 /etc/bash_completion 文件中加载自动完成脚本。

在 Bash 中,可以使用 complete 命令来自定义自动完成的行为。例如,可以使用以下命令来为 git 命令添加自动完成:

代码语言:txt
复制
complete -W "add branch checkout commit diff init log merge pull push rebase status" git

这将为 git 命令添加自动完成功能,并在用户按下 TAB 键时显示可用的子命令。

此外,还可以使用 Bash 的 compgen 命令来生成自动完成列表。例如,可以使用以下命令来为 cd 命令添加自动完成:

代码语言:txt
复制
_cd() {
    local cur prev
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    if [[ "${prev}" == "cd" ]]; then
        COMPREPLY=( $(compgen -d -- "${cur}" ) )
        return 0
    fi
}
complete -F _cd cd

这将为 cd 命令添加自动完成功能,并在用户按下 TAB 键时显示当前目录下的子目录。

总之,Bash 中的自动完成功能可以帮助用户更快地输入命令和参数,提高工作效率。可以通过编辑 Bash 配置文件和使用 completecompgen 命令来自定义自动完成的行为。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Windows系统Git安装教程

因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的最新版本(如果识别错误,可以中间选择系统),点击即可下载。...您将能够从Git Bash,命令提示符和Windows PowerShell以及PATH寻找Git的任何第三方软件中使用Git。这也是推荐的选项。   ...这个界面是配置终端模拟器与Git Bash一起使用。   第一个选项是“使用MinTTY(MSYS2的默认终端)”。...安装进度结束之后,会出现下图的完成Git安装向导界面: 13、安装完成 ?   在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。...14、启动测试   到此,Git的安装完成,可以开始菜单中看到Git的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI)。

3.6K20

PageObject(PO)设计模式 UI 自动的实践总结( QQ 邮箱登陆为例)

建模为不同的方法:对于登录页来说,就可以根据登录信息正确与否建模出正确登录、账号错误登录、密码错误登录等方法了 不要在方法内加断言 对一个测试用例的执行结果进行判断一定是测试用例里的,方法只是提供给我们业务上需要的操作...隐藏实现细节 本质是面向接口编程 1.3.2 基于POM的用例组织结构 page :完成对页面的封装 driver :完成对Web、Android、Ios、接口的驱动 testcase :调用各类page...测试用例可维护性提高,UI页面频繁被修改了,我们只需要去修改对应PO即可,用例无需修改 2、PO封装演示 说的再多,不如动手,下面QQ邮箱登录为例,演示PO模式UI自动的应用 2.1 登录场景预设...by){ return findElement(by).getText(); } } 2)创建MainPage类,用于登录成功后的返回页面,由于这里并未演示登录后的操作,所以类无具体方法实现...以上仅仅是为了演示PO而举的一个简单的demo,实际上还有很大的优化空间: 常用元素操作方法可以进一步封装的更完善 可封装常用的操作util类,例如滑动 特定元素的等待采用显示等待 登录用例可以利用参数化来数据驱动的方式完成

1K00

PageObject(PO)设计模式 UI 自动的实践总结( QQ 邮箱登陆为例)

UI 自动化测试过程,面对复杂的业务场景,经常会遇到这样的挑战: 简单的录制/回放速度快,但无法适应复杂场景; 编写自动化测试脚本比较灵活,但工作量大且可维护性差; 以往的封装技术(PageObject...)可以适应各种 UI 场景,但结构松散,无法多项目中迁移; 因此,测试团队通常还需要一种定制测试框架,用以弥补现有框架的缺点。...:将操作步骤放到外部 yaml 文件,利用 yaml 工具对操作步骤进行读取,用专门函数解析并实现操作步骤; 自动化异常处理机制:对元素查找模块进行封装和改进,包括如何处理弹窗; 作为通用的 UI 测试框架...相关文章 UI 自动化测试应不应该投入?有没有前途?怎样做最明智? 实战 | UI 调度自动化测试平台(基于 Python) Page Object 模式很火,UI 自动化测试到底要不要用?怎么用?...PageObject(PO)设计模式 UI 自动的实践总结( QQ 邮箱登陆为例)

53430

机器学习自动驾驶的应用-百度阿波罗平台为例【上】

导言 自动驾驶是人工智能当前最热门的方向之一,也是未来将对人类生活会产生重大影响的方向。机器学习自动驾驶中有举足轻重的地位,从环境感知到策略控制,都有它的身影。...本文中,SIGAI将以百度阿波罗平台为例,介绍机器学习自动驾驶系统的应用,揭开自动驾驶算法的神秘面纱。...很多人可能不理解为什么自动驾驶需要机器学习技术,让我们首先来看人是怎么驾驶车辆的。现在要开车从清华大学东门去北京首都机场T3航站楼,你作为司机要完成这一次驾驶任务。接下来你会怎么做?...关注过AlphaGo的同学都知道,一次对战,它下出了一个完全无法理解的棋,对于自动驾驶来说,这可能是一个灾难。...从这里可以看到,他们采用了摄像机,激光雷达,毫米波雷达等多种传感器,用深度学习技术对这些传感器采集的数据进行分析,确定车辆当前所处环境的交通参与者,这里的参与者是指人,车等重要目标。

94450

asp.net core2.1添加中间扩展Swashbuckle.AspNetCore3.0支持简单的文档访问权限控制

本篇将分享如何给文档添加一个登录页,控制文档的访问权限(文末附完整 Demo) 关于生产环境接口文档的显示 在此之前的接口项目中,若使用了 Swashbuckle.AspNetCore,都是控制其只开发环境使用...实现思路 前面已经说到,需要一个拦截器,而这个拦截器还需要是全局的, asp.net core ,自然就需要用到的是中间件了 步骤如下, UseSwagger 之前使用自定义的中间件 拦截所有...为使用 Swashbuckle.AspNetCore3 的项目添加接口文档登录功能 写此功能之前,已经封装了一部分代码,此功能算是在此之前的代码封装的一部分,不过是后面完成的。...此中间件中有使用的 login.html,其属性均为内嵌资源,故事用 GetManifestResourceStream 读取文件流并输出,这样可以方便的将其进行封装到独立的类库,而不与输出项目耦合...app.UseSwaggerUI(c=>{ if (options.SwaggerAuthList.Count > 0) { //index.html添加

1.1K10

Linuxsed工具的使用

处理时,把当前处理的行存储临时缓冲区,称为“模式空间”(pattern space),接着用sed命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。...) 在所有行的行首和行尾添加 sed 's/^/HEAD/g' test #test文件中所有行的行首加HEAD sed 's/$/TAIL/g' test #test文件中所有行的行尾加...TAIL 指定行的行首和行尾添加 sed '5s/^/HEAD/' test #test文件第5行的行首添加HEAD sed '5s/$/TAIL/' test #test...文件第5行的行尾添加TAIL 过滤指定行,然后在过滤行的行首和行尾添加 sed '/^ONBOOT/s/^/HEAD/' ifcfg #ONBOOT开头的行首加 HEAD sed '/^ONBOOT.../s/$/TAIL/' ifcfg #ONBOOT开头的行尾加 TAIL 相关文章: Linuxawk工具的使用 Linuxgrep工具的使用

2.2K10

下载并安装Git

浏览到下载位置(或使用浏览器的下载快捷方式)。双击该文件解压缩并启动安装程序。 ​ 4. 在打开的“用户帐户控制”对话框,单击“是”,允许该应用对您的设备进行更改。 ​ 5....将此保留在中间(推荐)选项上,然后单击“下一步”。 ​ 11.下一个选项与服务器证书有关。大多数用户应使用默认值。...如果您在Active Directory环境工作,则可能需要切换到Windows应用商店证书。单击下一步: ​ 12. 单击“下一步”保持默认的行尾转换。...14.配置其他选项,然后单击“下一步”: ​ 15.安装完成后,勾选框查看发行说明或启动Git Bash,然后单击完成。 验证安装是否成功 1....进入Git Bash 后,虽然一样都是黑黑的视窗,但这个跟Windows 内建的「命令提示字元」不太一样,它本身模拟了一个Linux 的世界还满有知名度的软体(其实不能算是一般的应用软体)叫做 Bash

6.7K00

python学习-ipython和pye

一、ipython ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。...的标准输入输出,也就是我们IDLE或者Python shell能用的,IPython中都能够使用,唯一的不同之处使ipython会使用In [x]和Out [x]表示输入输出,并表示出相应的序号...TAB自动补全 shell输入表达式时,只要按下Tab键,当前命名空间中任何与输入的字符串相匹配的变量(对象或者函数等)就会被找出来: ? 内省 变量的前面或者后面加上一个问号?...比如现在在我的windows系统,直接在IPythonping百度: ? 自动补全 使用tab键进行自动补全 ?...快捷键 Ctrl-P    或上箭头键 后向搜索命令历史当前输入的文本开头的命令 Ctrl-N   或下箭头键 前向搜索命令历史当前输入的文本开头的命令 Ctrl-R   按行读取的反向历史搜索

1K10

bash及其特性

shell:外壳 GUI:GNOME,KDE,Xfce CLI:sh,csh,ksh,bash,tcsh,zsh 程序,进程 允许一个用户登录多次 进程:每一个进程看来,当前主机上只存在内核和当前进程...) bash: 命令历史 管道,重定向 命令别名 命令行编辑 命令行展开 命令名通配 变量 编程 命令行编辑 Ctrl+a:跳到命令行首 Ctrl+e:跳到命令的行尾 Ctrl+u:删除光标到行首...n :执行命令历史的第n条命令 !-n:执行命令历史的倒数第n条命令 !!:执行上一条命令 !string:执行命令历史中最近一次匹配的命令 引用前一个命令的最后参数 !...shell定义的别名仅在当前生命周期中有效;别名的有效范围为当前shell进程。.../file-$(date +%F-%H-%M-%S).txt bash支持的引号: ``:命令替换 "":弱引用,可以实现变量替换 '':强引用,不完成变量替换 文件名通配,gloobbing *:

55530

Git安装教程(详细教程)

您将能够从Git Bash,命令提示符和Windows PowerShell以及PATH寻找Git的任何第三方软件中使用Git。这也是推荐的选项 3....我推荐使用默认选项第一项 第九步 点击Next进入 配置行尾符号转换 界面 1. 这个界面是配置行尾符号转换 2. 第一个选项是“签出Windows风格,提交Unix风格的行尾”。...我推荐选择第一种选项 第十步 点击Next进入 配置终端模拟器与Git Bash一起使用 界面 1. 这个界面是配置终端模拟器与Git Bash一起使用 2....默认不勾选 第十三步 点击Next进入 安装进度指示 界面 等待安装完成即可 第十四步 点击Next进入安装完成 界面 在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明...,然后点“Finish”按钮退出安装界面 第十五步 到此,Git的安装完成,可以开始菜单中看到Git的两个启动图标(Git Bash Here、Git GUI Here) Git Bash Here

4.6K20

Git下载安装手把手教程

07 设置新存储库初始分支的名称 这个页面是设置新存储库初始分支的名称,默认是“master”,如果想修改分支名称,点击第二个选项,“main”的位置修改即可,这里我选择默认的名称,点击“Next...你将能够从Git Bash,命令提示符和Windows PowerShell以及PATH寻找Git的任何第三方软件中使用Git。这也是推荐的选项。...11 配置行尾符号转换 第一个选项是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。...自动运行内置的文件系统监视程序,加速包含许多文件的工作树的常见操作,如“git status”、“git add”、“git commit”等。...17 git自动根据配置开始安装 18 安装完成 19 启动git测试 开始菜单中看到Git的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI)。

1.9K21

08-高级键盘技巧

被剪切的内容存放在一个称为 kill-ring 的缓冲区。 (1)剪切和粘贴命令 组合键 作用 Ctrl-K 剪切从光标到行尾的文本。 Ctrl-U 剪切从光标到行首的文本。...二、自动补齐功能 shell 的一种称为“ 自动补齐 ” 的机制为用户提供了很大的帮助。 (1)怎么做? 输入命令时,按 Tab 键将触发自动补齐功能。...自动补齐也可以针对 变量(如果单词 $ 开头)、 用户名(如果单词 ~ 开头)、 命令(如果单词是命令行的第一个单词)、 主机名(如果单词 @ 开头,注意:只对 /etc/hosts 目录下的主机名生效...(3)自动补齐命令 有一些控制和元键序列 与 自动补齐功能相关联。 组合键 作用 Alt-$ 显示所有可能的自动补齐列表。大多数系统,可通过按两次 Tab 键实现,而且也会更容易一些。...② 支持递增地搜索 ​ bash 也支持逆向递增的方式搜索历史记录(也就是说,当搜索历史记录时,随着输入字符数的增加,bash 会相应地改变搜索范围)。

98040

【Linux】用户必须知道的常用终端快捷键

Bash 是最受欢迎的 shell,所以列出的快捷键集中 Bash。如果你愿意,你也可以称其为 Bash 快捷键列表。...注意我键盘快捷键中使用了大写字母,但这并不意味着你使用快捷键时必须按下 shift 键。 1. Tab 这是你不能没有的 Linux 快捷键。它将节省你 Linux 命令行的大量时间。...它将自动完成你输入的内容,或为你显示全部可能的结果。 如果你只记一个快捷键,这将是必选的一个。 2. Ctrl + C 这些是为了终端上中断命令或进程该按的键。它将立刻终止运行的程序。...通常,你可以使用 & 选项运行程序前之完成该操作, 但是如果你忘记使用选项运行程序,就使用这对组合键。 4. Ctrl + D 这对键盘快捷键将使你退出当前终端。...Ctrl+A 送光标到行首,反之 Ctrl+E 移动光标到行尾。 8. Ctrl + U 输入了错误的命令?代替用退格键来丢弃当前命令,使用 Linux 终端的 Ctrl+U 快捷键。

2.6K20

Linux—系统基础一

Bash类UNIX系统,是Bourne shell(sh)使用的最成功的其中一个shell的改进版本。 当shell被交互使用时,它将显示一个字符串时,它从用户等待一个命令。...支持文件名通配 支持变量 支持编程 Bash支持的引号: "" //双引号,弱引用,可以实现变量替换 '' //单引号,强引用,不完成变量替换 `` //反引号,键盘左上角...Esc下面的键,用于命令替换 $() //与反引号用法相同 Bash常用操作技巧之光标跳转 Ctrl+a 跳到命令行首 Ctrl+e 跳到命令行尾 Ctrl+u 删除光标至命令行首的内容...Ctrl+k 删除光标至命令行尾的内容 Ctrl+l 清屏 Bash常用操作技巧 //命令历史 history //查看命令历史 -c...//命令别名 alias 别名='命令 [选项] [参数]’ shell定义的别名仅在当前shell生命周期中有效,别名的有效范围为当前的shell进程。

63820

学编程,怎么能不懂正则表达式!

在数学中表达式由数字、运算符、分组符号也即括号和变量组成,由于变量的存在我们可以使用数学表达式对数值信息进行批量云算,从而高效的完成各种计算任务。...正则表达式应用广泛,很多计算机语言中都有涉及,今天主要带大家学习Bash的正则表达式及其使用方法。...g(也即去除goo)的行: 搜索含有oo但前面不是小写字母的行: 正则表达式,所有连续的字符组均可以这样表达,例如[a-z]、[A-Z]、[0-9],如果不是C语系,可以使用[:lower:...筛选行尾是r.的行: 因为正则表达式“.”具有特殊意义,所以需要“\”来转义。....*”,例如筛选g开头与g结尾的字符串,中间字符可有可无: 筛选含有任意数字的行: ⑷限定连续字符范围{} 正则表达式{}可以用来界定连续字符的范围,但是由于shell{}具有特殊意义(数组引用

27030

linux的grep命令详解_grep -v命令

`^` 和行尾 $ 字符结合 4、任意一个字符` ....(括号[])之内和外面是不同的!!!...[]里面代表反向选择,[]外面代表定位在行首的意思 反过来思考,使用$来查找行尾字符: 找出行尾结束符为点.的行: grep -n '\.$' manpath.config 因为小数点具有特殊的意义...查找出空白行: grep -n '^$' manpath.config 4、任意一个字符.与重复字符* bash当中,通配符*可以用来代表任意(0或多个)字符,但是正则表达式并不是通配符,两者之间是不相同的...查找g开头与g结尾,中间至少存在一个o的行: grep -n 'goo*g' manpath.config 5、{}限定连续字符范围 我们可以利用.与*来设置0到无穷多个重复字符。

8.9K10

更高效实用bash

bash 命令行是Linux最常用的工具了,但是经常通过鼠标的左右键调整光标的位置,实在是影响工作效率. 好在有一些快捷键是可以使用的: 1....ctrl+left/right : 光标位置为分割,单词为单位,向左右移动光标,如果左侧或者右侧没有单词,那么直接跳转到行首或者行尾 ctrl+w / alt+d: ctrl+w 光标位置为分割...,删除光标前面或者后面的单词,如果前面或者后面没有单词,那么直接删除到开头或者行尾; 2....ctrl+a/e: 移动光标从当前位置到行首或者行尾 ctrl+k: 从光标位置,向右删除,一直删除到行尾 ctrl+u: 从光标位置开始,向开头删除,一直删除到行首; 3....ctrl+x+x: 在行尾 和 光标的当前位置进行来回切换;如果光标本来就在行尾,那么是开始和结尾之间切换;该命令还是比较有用的; 除了鼠标的移动,还有比较常用的是关于History命令的: 通过history

37910

Linux 之 Vim 编辑器从基础到大成使用

Vim 安装 描述:我们安装完成Centos后,系统默认自带的是vim-minimal也就是最小安装版本使用的命令是vi命令,而最小安装版本是不支持语法高亮和自动缩进等选项,所以我们需要安装vim...,VIM将自动实现上方1和2的操作,(即在行尾插入 \n\) #5.接下来我只需要重复点击字母 j + 点(.)...被丢弃的时候隐藏它 setlocal noswapfile set bufhidden=hide set linespace=0 " 字符间插入的像素行数目 set wildmenu " 增强模式的命令行自动完成操作...BufNewFile *.sh 0r ~/.vim/files/weiyigeek/shell.sh #新建java 文件时自动运行gnp 命令将新java 文件的__date__ 替换成今天的日期...php文件的自动完成功能,我们可以将以下的配置添加到你的~/.vimrc文件里面; #示例1.支持php自动补齐配置 autocmd FileType php set omnifunc=phpcomplete

1.9K10
领券