相关疑难解决方法(0)

了解 bash 中的感叹号 (!)

我用了

history | less
Run Code Online (Sandbox Code Playgroud)

为了获取先前命令的行和左侧的数字,我找到了我想要重复的行(例如 22)并做了

!22
Run Code Online (Sandbox Code Playgroud)

在命令提示符下,它起作用了——在我当时所做的行上执行命令集。我无法弄清楚感叹号在哪里使用,它在 bash 采取的操作方面代表什么,以及在哪里使用它。从文档中我没有看到“有形”的解释。

command-line bash command-history

129
推荐指数
5
解决办法
17万
查看次数

搜索 shell 历史的最佳方式

有没有比 grep 更好的方法来搜索我的历史文件中的命令?我确实知道命令的开头是什么,但我不知道它在历史上有多远。

更新:以前是特定于 zsh 的,但由于答案重叠,请随时回答此处的任何 shell(或模式 (vi/emacs)),只需注意它是否特定。

shell command-history

91
推荐指数
7
解决办法
8万
查看次数

如何呼应一声巨响!

我试图echo通过将内容写入文件来创建脚本,而不是使用编辑器打开它

echo -e "#!/bin/bash \n /usr/bin/command args"  > .scripts/command
Run Code Online (Sandbox Code Playgroud)

输出

bash: !/bin/bash: 事件未找到

我已将这种奇怪的行为与bang隔离开来。

$ echo !
!  

$ echo "!"
bash: !: event not found

$ echo \#!
#!

$ echo \#!/bin/bash
bash: !/bin/bash: event not found
Run Code Online (Sandbox Code Playgroud)
  • 为什么 bang 会导致这个?
  • bash 所指的这些“事件”是什么?
  • 我如何解决这个问题并将“#!/bin/bash”打印到屏幕或我的文件?

command-line bash echo

62
推荐指数
4
解决办法
4万
查看次数

!#:3 在 shell 命令中是什么意思

ack 的安装指南建议使用以下命令安装 ack 脚本:

curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3 
Run Code Online (Sandbox Code Playgroud)

我认为!#:3最后是某种反向引用,但它是什么意思?zsh 中是否有等价物?谷歌没有帮助。

bash command-history

29
推荐指数
2
解决办法
2847
查看次数

对不同的命令使用相同的参数

这是我发现自己经常做的事情:

less super/long/file/name
Run Code Online (Sandbox Code Playgroud)

其次是:

vim super/long/file/name
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将上一个命令的参数传递给下一个?所以我想做类似的事情

vim !!!
Run Code Online (Sandbox Code Playgroud)

并让它super/long/file/namevim.

bash command-history

27
推荐指数
4
解决办法
4430
查看次数

您对 shell 配置文件进行了哪些自定义以提高生产力?

我知道有些人有一些启动脚本,有些人个性化了提示。一位开发人员为他经常访问的长路径和他运行的频繁命令使用短别名。

您对 UNIX 配置文件进行了哪些有效的自定义以提高生产力和易用性?

shell prompt configuration alias

25
推荐指数
3
解决办法
5819
查看次数

组合 ^foo^bar 在 Bash 中有什么作用?

我最近看到一个视频,有人^foo^bar用 Bash执行死刑。那个组合有什么用?

bash

22
推荐指数
2
解决办法
3231
查看次数

我在哪里可以找到有关“sudo !!”的文档 命令

我刚刚了解到 Linux 有一个sudo !!命令,它实际上适用sudo于最后输入的命令。我从来没有听说过。

这是通用控件吗?我在哪里可以找到有关它的文档?

bash sudo

20
推荐指数
2
解决办法
1070
查看次数

grep - 为什么 grep 模式中的括号会从 ps 结果中删除 grep 过程?

为什么grep模式中的括号会从ps结果中删除 grep 过程?

$ ps -ef | grep XXXX

[...] XXXX
[...] grep XXXX


$ ps -ef | grep [X]XXX

[...] XXXX
Run Code Online (Sandbox Code Playgroud)

command-line grep ps

14
推荐指数
2
解决办法
3381
查看次数

如何在 Unix 中即时访问历史记录?

例如,如果我做一个

mkdir thisismyfolder912
Run Code Online (Sandbox Code Playgroud)

我记得有一些thisismyfolder912比不得不做的更简单的切换方法

cd thisismyfolder912
Run Code Online (Sandbox Code Playgroud)

那是什么方式,它是如何工作的?另外,我可以使用它的其他方法是什么?

shell command-history

12
推荐指数
3
解决办法
542
查看次数

标签 统计

bash ×6

command-history ×5

command-line ×3

shell ×3

alias ×1

configuration ×1

echo ×1

grep ×1

prompt ×1

ps ×1

sudo ×1