- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个函数 clip,通过首先重新运行它来将最后一个命令的输出复制到剪贴板。
#copy previous output to clipboard
function clip(){
echo $(!!) | pbcopy
}
当我在终端中运行函数中包含的单行时,它运行良好。但是,如果我尝试将它保存为我的 .zshrc 中的函数并通过调用 clip 执行它,我会收到以下错误:
zsh: command not found: !!
我无法让自动扩展正常工作,如有任何帮助,我们将不胜感激。
最佳答案
clip () {
fc -ILe- | pbcopy
}
!!
的历史扩展只有在交互式命令行中输入时才有效。它不会在脚本中工作,因为 !!
没有以特殊方式处理(导致“找不到命令”错误)。
相反,您可以使用 fc
命令从历史记录中检索元素。
运行不带任何参数的 fc
将检索最后一个历史事件并打开一个包含该事件的编辑器进行编辑。关闭编辑器将运行编辑后的命令(不保存编辑将导致执行原始命令)。
上述示例中的参数将按如下方式修改行为:
-I
:只获取内部历史事件,即排除从$HISTFILE加载的事件。-L
:仅检索本地历史事件,不包括通过 SHARE_HISTORY
从其他 session 共享的元素。 (这可能不需要与-I
结合使用,但我没有测试过)-e ename
:使用ename
作为编辑器而不是默认编辑器。如果 ename
设置为 -
,则不会打开任何编辑器。-I
和 -L
不是绝对必要的,但它们可以防止您无意中运行在以前的某个 shell session 中最后键入的命令。这很可能是 rm -r *
或 poweroff
。
所以组合 fc -ILe- | pbcopy
将检索输入到当前 shell session 中的最后一个命令,并将其输出通过管道传输到 pbcopy
。
顺便说一句:您可以只使用 cmd1 | cmd2
而不是 echo $(cmd1) | cmd2
以便能够将 cmd1
的输出传输到 cmd2
。
关于bash - 历史扩展在 .zshrc 函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45089356/
我的.bashrc PS1(删节版)是 \u\[\e[01;3$(($RANDOM % 8))m\]@\h \w $' 根据 bash 的工作方式,它会在每个命令后插入随机颜色,因此 @ 每次都是不同
我使用 homebrew 安装 MongoDB 并在.zshrc中设置路径: export path=/usr/local/Cellar/mongodb/3.4.6/bin:$PATH 但是当我打开
在过去的3年中,我每天都在Zsh中使用Iterm2,但是我有一台新计算机,因此不得不重新设置它。问题是,当我运行~/.zshrc时,它可以正常工作,但是我必须在打开的每个新终端窗口上执行此操作。不好的
有人可以向我澄清这两行之间的区别吗? export PATH=./bin:~/.rbenv/bin:$PATH 和 export PATH=./bin:~/.rbenv/bin:$PATH >> ~/
我似乎无法通过zsh运行这两个脚本。有任何想法吗? (在.zshrc中) # hidden files alias show= 'bash /usr/local/bin/show.sh' alias
我正在尝试编写一个提交给 github 的 origin master 的命令,并在完成后关闭计算机...这就是我所拥有的,它指出了很多语法错误,因为我找不到如何使用多行别名命令...非常感谢,下面是
我正在尝试编写一个提交给 github 的 origin master 的命令,并在完成后关闭计算机...这就是我所拥有的,它指出了很多语法错误,因为我找不到如何使用多行别名命令...非常感谢,下面是
我的 .zshrc 文件中某处出现语法错误,但我似乎找不到它。 我收到此错误消息: .zshrc:49: bad assignment 这是我的 .zshrc 文件: # Path to your o
我在终端 session 初始化 shell 脚本 ~/.zshrc 中设置了几个别名 alias python=/opt/homebrew/bin/python3.9 alias pip=/opt/
我用过 Homebrew在我的 Mac 上安装 Z shell (zsh) 5.0.7。 对于我的生活,.zshrc 无处可寻。它不在~中。不在/etc 或/etc/zshrc 中,因为他们在这里建议
我正在尝试配置我的〜/.zshrc,以便文件/目录上的代码完成可以按需工作。 我在网上找到了关于zstyle完成语法和代码示例的各种资源,但是其中的某些部分对我来说仍然是不可思议的。 到目前为止,经过
我通过“oh my zsh”使用 z shell。我想从我的 .zshrc 文件中获取多个别名文件,以便我可以保持井井有条。我在别名文件前面加上 .alias_所以我可以通配符加载它们。但是,拨打 s
使用 oh-my-zsh , 我在 .zshrc 的底部有以下内容: fortune | xargs -0 cowsay | lolcat -a 从 .zshrc 运行时,它提示: /Users/jo
假设我在 .zshrc 中设置了一堆变量: function print_color () { echo -ne "%{\e[38;05;${1}m%}"; } # color guide:
我见过很多不同的 zsh 提示,但我想知道如何添加时钟? 我想要一个简单的时钟,而不是任何太复杂的 self 更新的东西。 最佳答案 export RPROMPT=$'%F{cyan}%*%f' 在屏
我见过很多不同的 zsh 提示,但我想知道如何添加时钟? 我想要一个简单的时钟,而不是任何太复杂的 self 更新的东西。 最佳答案 export RPROMPT=$'%F{cyan}%*%f' 在屏
/Users/ello/.zshrc:source:3: no such file or directory: /Users/ello/Projects/config/env.sh Ello-MacB
我正在尝试将 .zshrc 移动到一个文件夹,在该文件夹中我将此类文件与 Github 同步。 但现在每当我启动 zsh session 时,它都不会使用该配置文件。 假设我将文件更改为 ~/.dot
我目前正在 ProjectDjango.com 上学习 Django 教程。 但是我被困在了第一步! 我被告知在命令行中输入以下内容: $ python -c "import django; prin
我创建了一个函数 clip,通过首先重新运行它来将最后一个命令的输出复制到剪贴板。 #copy previous output to clipboard function clip(){ ec
我是一名优秀的程序员,十分优秀!