首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何以交互方式扩展bash中的bang命令?

如何以交互方式扩展bash中的bang命令?
EN

Stack Overflow用户
提问于 2015-10-30 02:08:48
回答 1查看 2K关注 0票数 6

像zsh和bash这样的Shells有bang命令,这些命令以感叹号开头,然后扩展到用户历史记录中的项。

要获得运行的最后一个命令的最后一个参数,可以使用!$

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ echo one two three
$ echo !$ !$ !$
> three three three

在zsh中,可以交互地扩展这些bang命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
touch foo bar
ls !$<TAB>

!$将被扩展为内联foo

这是非常有用的,因为它经常防止我犯错误:我按tab展开并确保我正确地展开它,而C-/则在我自信的时候撤销扩展。

在bash中是否有一个设置来实现in命令的交互扩展?

子subshells和一般变量的扩展如何(即echo $(uname)<TAB>echo Linuxecho $SHELL<TAB>echo /bin/bash)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 03:37:39

有几个选项可以用于历史扩展。一个是:p修饰符,它打印扩展的命令,而不是执行它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ echo foo
$ !!:p
echo foo

另一种方法是使用histverify选项,它将历史扩展的结果放入shell缓冲区进行编辑,而不是立即执行。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ shopt -s histverify
$ echo foo
foo
$ !!
$ echo foo

如果您对该命令满意,只需再次单击Enter以执行它,就好像您刚刚键入了它一样。

默认情况下,Readline命令history-expand-line绑定到M-^ (取决于终端模拟器作为元键发送的内容) (Alt-^Esc-^ ),这将扩展当前命令行上的任何历史扩展。

还有一个通用的Readline命令shell-expand-line (默认情况下绑定到M-C-e ),它扩展命令行上的所有内容,就像shell在按Enter之后,但在实际执行它之前一样。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33433420

复制
相关文章
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
牛客 Bang! Bang!(动态规划)
链接:https://ac.nowcoder.com/acm/contest/9715/C 来源:牛客网
Michael阿明
2021/02/19
2420
牛客 Bang! Bang!(动态规划)
shell中的交互read命令使用
在Shell脚本中,read命令用于从标准输入读取用户输入的数据,并将其保存到指定的变量中。这使得我们可以编写交互式Shell脚本,与用户进行交互,根据用户输入执行不同的操作。本文将详细介绍read命令的用法,并提供一些示例。
玖叁叁
2023/04/10
9030
MongoDB PHP 扩展操作命令和方式
本教程将向大家介绍如何在Linux、window、Mac平台上安装MongoDB扩展。
用户7639835
2021/12/03
8110
bash找不到命令_bash sed
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.8K0
在bash中export命令作用是什么_bash:no such file or directory
export export命令将会使得被 export 的变量在运行的脚本(或shell)的所有的子进程中都可用. 不幸的是,没有办法将变量export 到父进程(就是调用这个脚本或shell 的进程)中. 关于export 命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且 设置环境变量,让用户进程可以存取环境变量
全栈程序员站长
2022/10/02
3.3K0
【通信】前端中的几类数据交互方式
服务器 res.setHeader(‘Access-Control-Allow-Origin’,‘*’);
前端修罗场
2023/10/07
3000
【通信】前端中的几类数据交互方式
Bash Printf 命令
本文最先发布在:https://www.itcoder.tech/posts/bash-printf-command/
雪梦科技
2020/06/04
4.2K0
Linux命令――bash
bash是一个命令解释语言,能够执行读取标准输入或文件的命令,可以执行命令以及结合nc进行反弹shell
随心助手
2022/11/30
2.9K0
Linux中的普通命令如何以管理员身份运行
一个文件都有一个所有者, 表示该文件是谁创建的。同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组。如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限,而setuid, setgid 可以来改变这种设置。
大江小浪
2019/03/15
2.4K0
Bash 强大的History 命令
Bash的使用GUN readline库来处理用户输入,所以BASH也有emacs/vi 两种模式(主要是快捷键不同)(4DOS没有) 一般来说BASH缺省是emacs模式,如果想变成vi模式(如果你是vi用户)就可以了,然后你就可以用和vi一样的快捷键来编辑命令行了.(4DOS没有) set -o vi 不好意思有点远了,接下来还是history命令方面 Emacs and Vi history 编辑快捷键: Emacs 模式: CTRL-p 历史列表上一个. CTRL-n 历史列表下一个. CTRL
一见
2019/03/14
9080
bash 中冷门但非常有用的命令: trap
trap 属于bash的内置命令,所以查看帮助用: help trap, 如果用”man trap“则会跳出bash的帮助文档; trap命令的作用是:对捕获到的SIGNAL ,改变原有的处理action为新的action; A. 支持哪些信号呢? trap -l 可以列出所有支持的signal.
qsjs
2020/06/09
5.4K0
除了语音交互,虚拟世界中还有这些交互方式!
从古至今,自浮士德到南柯一梦,人们总是乐于沉溺在虚幻缥缈的世界中,感受其带来的神奇魅力。如今,VR技术的出现已经使人们的妄想成为可能。然而,我们仍然需要借由他物将虚拟世界与人类自身完美地联系起来,从而
VRPinea
2018/05/16
1K0
Bash shell中bash、sh、source及“.”点等五种执行方式的区别与联系
版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢
耕耘实录
2018/12/20
3.7K0
Spring Boot 如何以 Web 应用的方式启动
https://www.cwiki.us/display/SpringBootZH/questions/57938770
HoneyMoose
2020/04/04
4510
Spring Boot 如何以 Web 应用的方式启动
iOS中Today扩展插件与宿主APP的交互 原
        扩展是iOS8后系统开发给开发者的新开发思路与接口,每一个扩展都可以理解为一个简单的小应用程序,只是其不是独立存在的,要寄附于某一个主应用上。介绍iOS8扩展与Today插件的专题见如下博客:
珲少
2018/08/15
1.7K0
iOS中Today扩展插件与宿主APP的交互
                                                                            原
bash中的变量
bash中的变量 <span style="display: inline !important;float: none;background-color: transparent;color: rgb(51, 51, 51);font-family: " 0px;"="" sc","helvetica="" pingfang=""> 本文目录 1 局部变量与环境变量 2 设置变量 3 环境变量 局部变量与环境变量 在bash中,变量是一个用来存储数据的实体。每个变量都有一个名称和一个值,名称是变量的
mwangblog
2018/07/04
2.2K0
Shell 中的命令替换及参数扩展
今天和大家分享的主要是 “命令替换” 以及 “参数扩展” 。 -- 季文康 本文导航 ◈ 前言 00% ◈ 什么是命令替换 14% ◈ 1、一层 SHELL 嵌套 15% ◈ 2、二层 SHELL 嵌套 17% ◈ 3、进阶 30% ◈ 什么是参数扩展 44% ◈ 1、实例一 46% ◈ 2、实例二 52% ◈ 什么是变量扩展 57% ◈ 1、变量替换 65% ◈ 2、变量切片 74% ◈ 3、变量修改 80% ◈ 更深入学习,探索资料 95% 转载自 | http://www.cnblogs.com/
企鹅号小编
2018/01/30
1.5K0
Shell 中的命令替换及参数扩展
bash 终端命令梳理
这些命令在类Unix系统上都是通用的,并不局限与 Mac 下。作为一个接触了 Linux 有一段时间的人,趁这个时间整理一下。
上山打老虎了
2022/06/14
8590
点击加载更多

相似问题

Python(2.7)的交互式shell有没有等同于bash的"!!“(bang bang)?

30

bash以交互方式识别mv命令,但脚本中的命令出错

40

如何以可扩展的方式抽象命令/响应?

23

从bash脚本以交互方式执行git命令

10

从Python以交互方式运行多个Bash命令

126
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文